count goes under Counted not IPersistentCollection

If we don't implement Counted, then the runtime doesn't realize that
we're a Counted interface, meaning that we implement a count() in O(1).
Otherwise it just sums the length of our seq.

Additionally, fix a bug in the count - union decrements the count of
connected components, not increments. Add new tests for this.
Comments, formatting