Don't seek a stream and don't handle error when it's failed.

Now config_parser_t saves into internal buffer all data read from the user stream by dynamic_t, so it doesn't have to do seek and reread it again to produce the error message.
Rewrite config_parser_t::parse.

Because some weird stuff is going on there.
Fixed test.

It's obvious that the error in the second character, not in the first one.
Fixed error in dynamic_t::from_json.

Now it provides the error position correctly.
json_stream.Tell() returns total number of characters read by RapidJson, but positions in a string start from 0.
Update rapidjson submodule.

This commit fixes config_t's tests, because this rapidjson correctly points to a parsing error postions.