Adds Leonardo number type/class

Adds template code to make the sorting truly generic for both arrays and
STL containers (or any class with iterator, reverse_iterator, and []
methods defined). And in the global scope of the header, I defined a new
class to represent the set of Leonardo numbers, with the ++, --, and ~
(previous) operators and conversion to unsigned defined.