Sparse nodes/leaves, `bitpos`, `index`
Define `update` on SparseBitmappedTries
Define `get` for SparseBitmappedTries
`shift(::SparseLeaf) = 0`

Shift value base case for SparseBitmappedTries is now 0 instead of 5 (as
it is for the dense tries).
`update` now correctly increments `length`

When `update` is called on a `SparseBitmappedTrie` the `length`.
Defined iteration for `SparseBitmappedTrie`
Removed redundant definition
Added `PersistentHashMap`

With functions `Base.length`, `Base.isempty`, `Base.isequal`, `assoc`,
`Base.getindex` and `Base.get`.
Split tests into individual files
Adds `dissoc`, fixes PHM length bug

PHM length wasn't being incremented in the event of a hash collision,
because something was already there. PHMs now have a length attribute
that keeps track of whether or not an `assoc` or `dissoc` actually
changed the PAM at the leaf.
Added `Base.has` method for `PersistentHashMap`.
Implements iteration and `show` for hash maps
Add mention of hash maps to readme