Begin experimenting with comparators

This adds a `Cmp` trait for comparators and uses it to parameterize `libcollections`'s `BinaryHeap`.
In case `T` has a optimized versions of the specialized functions (`lt`, `eq`, etc.), this should probably delegate directly to those.