Add skeletal implementation of Sort interface

This skeletal implementation help reduce amount of repeated code.
Rename benchmark methods

This makes benchmark outputs more understandable.
Reference implementation of binary-serch algorithm, iterative and recursive

Implementation includes unit tests and micro benchmark.