Manually parse JSON in requests

This means that handling of parse errors won't trigger exception emails and is
consistent/predictable across environments.

It also means that empty arrays, for example, aren't converted to nil, which
was making validating against a schema harder.

We are no longer using strong params to limit the params that are processed.
Filtering supplied parameters will be a concern when we come to send data to
Content Store, but isn't yet.
Merge pull request #15 from alphagov/manually_parse_request_json

Manually parse JSON in requests
Introduce test data helpers

This will reduce future churn in the specs, as validation is tightened up.
Merge pull request #16 from alphagov/test-data-helpers

Introduce test data helpers
Add examples of JSON

These are the manual and some sections of the scraped Employment Income Manual
from manuals-frontend, modified to fit our initial schema.

- EIM00100.json is the 'About' section, with content in the body and no child sections
- EIM77010.json is an appendix, with more content in the body and no child sections
Remove 'manual' from key names

It seems redundant when you have the context of the format name.
Simplify (shorten) example JSON
Strawman of JSON to send to Content Store
Remove some sections for easier maintenance

We don't really need so many examples, and it was becoming a hassle to tweak
and maintain whilst keeping them consistent.
Move JSON closer to Content Store format

This will simplify the job of translation.
Add a schema for manuals

Updated tests to continue to use valid test data.