Make descriptions more consistent.
Small doc grammar fix
(valAt set key) delegates to (valAt set key nil)
valAt doesn't need to consume stack space.

whereas get-canonical can't be tail-recursive, since it has to remember
the path it takes to perform path compression, valAt can be, since it
doesn't perform path compression.
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
Change version to 0.1.0 for release