Fix handling of short, invalid inputs to parseNumberFromString() and its ilk.

There were two notable bugs.  The strings "+" and "-" were parsing successfully as the
number 0.  The strings "0x" and "0X" were also parsing successfully as the number
0, when they should be an error.
Fix StringData::substr with single argument

Original version had an overflow bug
SERVER-8130 add test case for textSearchEnabled flag
Revert "SERVER-8130 add test case for textSearchEnabled flag"

This reverts commit 19ab4ba71c5793878d6588d6c9d6eb6fee26c6d9.
make test more stable