BinaryHeap unit test and some usability/build fixes for the data structu...

...re itself.

Tim, please have a quick look.  I didn't find any real problems after writing tests and then reviewing the implementation, but I fixed some trivial bugs, made some things private that weren't before, and removed the (unused) const_handle class.  I added a few convenience things.

Thanks.