`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`.