[algorithm] [searching] [longest_increasing_subsequence] Fix interface (WIP).
[longest_increasing_subsequence] Accepting Output Iterator as an optional argument.
Rename variables.
[longest_increasing_subsequence] Change interface to accept a tag defining the return type (a collection of values or a collection of iterators).
[longest_increasing_subsequence] Refactor.
[longest_increasing_subsequence] Format.
[longest_increasing_subsequence] Test all possible interfaces:
A) with two iterators
B) with a range
C) with two pointers
D) using object methods directly with case A.
1) output iterator
2) vector of values (with value_output_tag as argument)
3) vector of iterators (with iterator_output_tag as argument)