Grand deserializer optimisation

More unit tests as needed
Collapse CDataScanner into CJSONScanner.
Use inlines where possible.
Use CF objects where possible.
Try very hard not to create intermediate objects (alloc is expensive)
Use a shared NSMutableData as a scratch pad.
Dedupe all strings.

Try to avoid allocs as much as possible by only creating new strings if we've not
already creating them before. Use a special CFMutDict where keys are hash of the
raw string data and value is the string.
Grand tidy-up.
Some AppCode inspired code cleanup.
Code squash and cleanup
Fixed many unit tests
Merge branch 'master' into feature/optimisation

* master:
  Removed link to touchcode.com
  Linked to NSJSONSerialization
  Fixed grammar error
  Guess my signature shouldn't be treated as a code block...
  Added deprecation notice
  Sanitized initializes. Removed dispatch_once
  Removed old license.txt

Conflicts:
	Source/JSON/CJSONScanner.m
	Support/Demo/main.m
Merge branch 'master' into feature/optimisation

* master:
  Fixed some merge problems
  Removed dead projects
  Added travis.yml
  Update README.markdown

Conflicts:
	Source/JSON/CJSONScanner.m
	Support/TouchJSON.xcodeproj/xcshareddata/xcschemes/Demo.xcscheme