Binary search in node keys, fixed failing tests.

Added an experimental (-DBINARY_SEARCH) binary search on a node's
keys during search.

Fixed tests to make sure:
1) They respect visibility.
2) They only test outside behavior, not internal representation.

Finally, made sure the benchmark also tests search speed.