Added lowerBound()

Allows for the following important behaviors:

* Locate iterators in the middles of the sequence
* Find elements adjacent to a given query element

These features are necessary for many algorithms using binary search trees.