prepare for travis-ci.org continuous integration

Travis CI is a free hosted continuous integration platform for
open-source projects.  It allows automated testing for GitHub-hosted
projects.

This commit adds a corresponding `.travis.yml` configuration file.
document.h: define __STDC_CONSTANT_MACROS

The C++ standard does not include the C99 macros used to set the (U)INT64
constants in document.h and reader.h (see adf66292 and ce1fece2).

Many implementations include their definition when the
__STDC_CONSTANT_MACROS preprocessor symbol is defined.

See e.g. http://www.cprogramdevelop.com/5272623/,
needed to successfully build in travis-ci.org's environment.
Remove setjmp()/longjmp()
Merge pull request #24 from pah/fixes/travis-ci

Prepare travis-ci.org integration, fix build on Ubuntu 12.04 LTS
Clear the stack after parsing and fixes indentation.
Remove setjmp header and jmpbuf member variable
Add safe checks in parsing compound types.

Compound types (object and array) call ParseString() and ParseValue()
for key and values. If there is parse errors inside those calls, it
should stop continue parsing. Otherwise, it may be possible to continue
parsing and calling handler incorrectly.
For example, in ["a\u,","b"], \u generates an error (it should follow
but 4 hex digits), the parser continues to treat the first comma as
element separator, and treat "," as a JSON string and call the handler.
It may be unacceptable in the application code.
Merge pull request #25 from miloyip/issue22setjmp

Removal of setjmp()/longjmp()
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.
Update readme.md

Added a paragraph about the unicode features
Update readme.md

minor mistake
Fixes grammar mistakes in error messages.
Verify all error codes in unit tests of parsing.
fix build on travis-ci.org

Some early returns were missing after the removal of longjmp in #22.
This has led to segfaults on Linux (confirmed locally).
document.h: avoid casting away const

Another instance of casting away constness via C-style cast
has been missed (introduced by #20).
Merge pull request #26 from pah/fixes/errorreturn-castqual

Fix segfault and build error on Linux
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.