Add parse error codes and API for converting error code to text.

Parse errors is represented as enum type `ParseErrorCode`.
Error texts are optional for user.
Added  `GetParseError_En()` in `error/en.h`, user can localize this file
into other files. User may dynamically change the locale in runtime.
Fixes grammar mistakes in error messages.
Verify all error codes in unit tests of parsing.
Error can only be assigned once
Manually merge the segfault fix from main branch and fix several unit tests about error code
Documentation on error related files and include dependent header.
Merge branch 'master' into issue23errorcode

Conflicts:
	example/condense/condense.cpp
	include/rapidjson/reader.h
	test/unittest/readertest.cpp
Merge pull request #27 from miloyip/issue23errorcode

Issue23errorcode