streammap: Use an internal counted_hashmap to simplify invariant checking
Instead of making streammap.rs
responsible for keeping track of a
count field, this lowers that functionality into a lower-level
CountedHashMap type. Said type has a little more functionality than
we need, to sketch out how we'd want to develop it moving forward if
we find that it's useful elsewhere.
Closes #1344 (closed).