Clean up commented out code
Switch to `io_lib_format:fwrite_g/1` for `float` encoding
Add bug and todo lists right into project

These should be updated as we move along
Switch to `sep_by_till` combinator from `many`

For arrays and objects. This should properly handle extra `,` at the end of arrays and object field lists and speed up things a little
Remove old files
Add `jsonrec:atom_to_camel/1` converter

Converts Erlang-style field names into camel-style
Add required by JSON standard string escaping for 'encode'

Plus a check that the binary is indeed contains only valid utf8 UNICODE
Handle `string()` type spec

Can be used to encode/decode Erlang strings (similar to binaries)
Move `meta` bugs to meta project bugs list

Plus a minor todo item
Extract JSON parser functions into `json_parsers` module
Additional optimisation task and re-prioritisation
Allow list of type to be the first parameter of `?gen_encode`

And `?gen_decode`.
I.e. parameters in the form `[some_type()]` and [`#some_record{}`]
Add 'clean up' todo task for `jsonrec_*` modules
Detect 'loop' type defs in `gen_*` functions

Loops (recursive definitions) are now reported as errors.
Such definitions however can be used in `gen_encode` and `gen_decode` using `-decode` and `-encode` attribute trick (see `jsonrec_tests:self_reference_test/0` test as an example).
Task list adjustment
Adjust todo and bugs lists
Correctly handle `= atom :: atom` and `:: undefined` type specification
Add type specs for dialyzer

Intermediate result
Streamline customisation options for encode/decode

Both `Options` parameters and -decode/-encode attributes are now using identical format.
Also improve error reporting (extra checks).
More documentation and type annotations.
Remove support for `mochijson2` from dev for now

All related files are moved to `mochijson2` branch.
If there is a way to do conditioned `rebar` i.e. use a flag to specify that support for `mochijson2` is needed (and dependency is required - that is why it has been moved for now) which is turned off by default, those files will be moved back