Support JSON/text-based codecs and move benchmarks to its own repo.

Changes:
- Now supports text encodings like json (not just binary ones).
  This involves support for separators and delimiters for maps and slices.
  This also involves adding support for encoding.Text(M|Unm)arshaler interfaces.
- Comprehensive Performant JSON support.
  This gives equivalent performance to std library, but allows decoding
  numbers as int or uint (if number is clearly not a decimal/float).
- Some minor refactoring (changed internal interface function names, etc)
- Fix rpc support for json, by adding rpcEncodeTerminate to append
  a space after encoding a value. This is important as numbers do not have clear delimiter.
- clean up of error messages.
- Update Copyright
- Separate benchmarks into a different repository.
updated LICENSE