Begin experimenting with comparators

This adds a `Cmp` trait for comparators and uses it to parameterize `libcollections`'s `BinaryHeap`.
I had this concern as well. I think `cmp` can change to `compare` (assuming the trait becomes `Compare`), in line with RFC 344. As for the convenience methods, it seems important to provide them, so we'll have to think of alternate names. Any suggestions?