added interval heap implementation and fixed immutslist test code

The interval heap seems to be working. Some more tests are probably needed.

cargo test didn't work for me on immutslist.rs since my version of rustc does not implicitly convert a `[T,..N]` into a `&[T]`. So, I added the necessary ampersands to make it compile.


Oh ok. Yes, I don't think it's true. For example, the heap could store "equivalent" elements (w.r.t. Ord) that produce different hashes. And even if you have only elements that are not equivalent w.r.t. Ord, the layout depends on the order in which they have been inserted. Swapping two sibling subtrees always retains the interval heap properties. So, the interval heap ordering is less of a constraint as the one you have in a "sorted vec".