Feature/longest increasing substring

Hi, I have written a new search algorithm: longest increasing substring that permits as well to find the longest decreasing/non-increasing/non-decreasing or differently ordered substring by defining comparison predicate. I have added tests for it using iterators, ranges, pointers and object's operator().

I am working on other algorithms: longest increasing subsequence and Aho-Corasick (multi-pattern) search.
The code itself is done, it needs writing more tests only.
I will create a PR for them soon.