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.
Added a simple example and a diagram showing the process.
Update readme.md

Fixes image path
Fixes comment mistakes
Minor adjustment to simpledom example

Showing the type Value and preventing member lookup twice.
Added overloaded functions for default parseFlags

Can write d.Parse(...) instead of d.Parse<0>(...)
Hope to reduce strangeness and confusion for beginner.
Create features.md
Update features.md
Update readme.md
Update features.md
Update features.md
Merge pull request #29 from miloyip/DefaultFlag

Added overloaded functions for default parseFlags
Let travis to build perftest and example, and run perftest.
Turn off -Weverything for Travis.
Add stream copying optimization switch depending stream type.

An unit test is added