New implementation of binary-search. Not turn on yet (I need to test
the performance with more benchmarks).

The girst of the change is to reduce branch. There are two approaches
toward that end:
    o. Use multiversioning.  if the array has no more than 4 element
       linear scan seems to be working better.

    o. Use bit-wise operation to get rid of branch

Performance impact:
===================
  Currently we have to input for performance testing purpose.
  1. test/testinput/image.bin
  2. test/testinput/text.tar.

  The baseline for them are
   2.3+s for 1) and 6.7s for 2).

  with this change,
   1) is 2.2+, and 2) is reduced to 5.5s!