fixed find_end not working with forward_iterators, added inputiter testing to other find algorithms
refactored implementation of find_end