* reduces sixe of log messages to essential information
* cleanup code style consistency and docstring
* ensure first and last line checked first before
full bisect
searchkit/constraints: rewrite of binary search algorithm
Implemented a new binary search algorithm that no longer needs
filemarkers or knowing the lines beforehand, which reduces the
time spent applying a SearchConstraintSearchSince to a file,
especially if the file is large in size.
Removed the following classes which are no longer necessary:
Instead of only supporting "strict" mode and silently skipping
files that raise a UnicodeDecodeError we now raise the error
and add a new "decode_errors" kwarg to FileSearcher that supports
setting alternate handlers such as backslashescape, ignore etc.
If the paths used to register searches overlap once
expanded, they will cause the same file to be searched
concurrently which breaks the MPCache and is also
superfluous. This patch fixes that problem and applies
some minor optimisations to the way we extract
datetime from start of line to apply constraints.
Also fixes support for applying constraints to files
containing unicode characters by ensuring that we escape
rather than decode those charaters.