Added a new EncodingError for when a string is too short to be parsed

This is quite important when adding rfc7159 standards mode, as under
rfc7159 the minimum length of a json text is 1 octet (not two - as with
the regular mode). Before this commit, a ParserError was raised if the
string was too short, but there was no way to distinguish (in tests)
whether the parser was failing due to syntactic issues in the JSON (as
it would in quirks mode) or because the JSON is too short. (Other than
looking at the error message - bad idea)

As a part of this I also made the pure parser check for string length,
as it was the only parser that not doing so (which seems inconsistent).