PEP-8
Improve key name validation in read and write api

- Do not allow hyphens in keys. They require extra care in escaping to
  use in javascript code.
- Validate that field names are valid for filter_by, group_by and
  sort_by
- Use the same field validity function for read and write api
Change write api validation messages

Make them more inline with the read api
PEP8
Do not allow digits at start of keys
Allow floats as field values in write api
Make key and bucket names more restrictive

Only allow leters and underscores as the first letter and letters, numbers
and underscores thereafter.
It is easier to become more permissive later.

@maxfliri
@robyoung
Merge pull request #58 from alphagov/field-validation

Field validation