Modified binary_insert such that it does not modify the original list.

Also added some unit tests for binary_insert.
Added tests for binary_search and binary_insert.