Add a recursive implementation of the binary chop.
Split different implementations into seperate files and add a test for each of the implementations.