Fix InsertionSortByRecursion algorithm, tests and saw-tooth generator

Correct and update algorithm description. Create swap utility method
to reduce boilerplate code. Fix in all search tests translation from
array to List data structure, which cause that test ordered array
wasn't  correct. Fix InsertionSortByRecursion implementation according
to corrupted tests. Fix ArrayIndexOutOfBoundsException thrown by
saw-tooth generator on some selected array lengths.
Reference implementation of bubble-sort algorithm.

Implementation includes unit tests and micro benchmark.