Implement error string getter.

Theoretically allows people to actually get info when an error occurs.
Make checkBounds more robust in the face of adversity.
Add checkSmallBounds for super code duplication.