Begin experimenting with comparators

This adds a `Cmp` trait for comparators and uses it to parameterize `libcollections`'s `BinaryHeap`.
It also becomes impossible to provide `min` and `max` directly on the comparator trait, but an extension trait for it is trivial. (Generalized where clauses would also work, I think.)