Added the rest of the max/min_element algorithms

Also a small fix: Use only operator< in library functions. (The minimum requirement for being comparable)