Implement error checking and recording for bsearch().

The implementation of bsearch() is contained in the BinarySearchImpl class, it
follows from qsort() in that it holds a memory read lock, releases it for the
compare function, reacquires it after the compare, and re-checks the
accessibility of the array and key when re-acquiring the lock. It does not
check that the array and key are initialized, because the comparison function
may only use part of the data (e.g. when searching an array of structures).
Any errors should be found when executing the comparison function (assuming
it is instrumented).

Remove DETECT_CALL definitions for abort(), atexit(), exit(), bsearch(), and
qsort(), because these are handled by interception.