Merge pull request #1 from CodeFridge/feature/const

Add const to comparisons
Limit maximum nesting depth (issue reported by Jeff Larson)
Cleanup Makefile
Add .travis.yml
Update gitignore
Add cmake support
Cleanup code
Add static_assertion to ensure constuctor from void* is deleted
Cleanup traits check
Use enum class for enum Json::Type, and rename it to Json::JsonType
small adjustment for the loop in dump function
Use anonymous namespace instead of global static function