Add predicates for reading JSON values.

Add predicates for reading JSON values from character streams.  The distinction
between reading and getting values is that the former does not allow trailing
non-whitespace characters after the value in the stream while the latter does.

src/json.m:
src/json.json_parser.m:
	As above.

	Use read_value when converting string to JSON.

samples/pretty.m:
tests/test_json.m:
	Read values rather than getting them

tests/test_marshal.m:
	Further invalid string converisons tests.

tests/tr_*.{json,exp}:
	Test non-whitespace characters after values.