Change data-set name to use group and type

- Uses a simple string join on `data_group.name` and `data_type.name` and replaces '-' with '_'
Change READONLY_FIELDS to READONLY_AFTER_CREATED

- Because we're going to use django's built in read_only fields as well
Add explicit ordering of fields

- So we can show the name field at the top of the form, as it's still important, but uneditable
Change help text to reflect autogenerated data_set name
Moving generation of name to save()
Add data_group and data_type to readonly fields

Since name is now generated from data_group and data_type, and name is readonly, the 2 fields it is generated from must also be made readonly to prevent things getting out of sync.
fix mixed tabs and spaces issues
Add data_set_name preview to data_set admin form

- Grabs the values of data_group and data_type bound to a change event on those drop downs
- populates a <p> tag to show a preview
- BUG / TODO: Doesn't update the preview when a new data group/type is added to the form. I think this is because whatever django magic that adds this new select option in is swallowing the event, so the name preview function does not trigger
@WIP generate_data_set_name now a method on the model
Add test_name_generated_correctly() and fixing tests
Have Admin deal with readonly_after_create fields separately to the model

- We keep the clean() method on the model, so people can't do things we don't expect like changing a data_set name after it's created
- We keep the pattern of data_group/type being uneditable after creating a data_set in the admin
- This is achieved by having readonly field patterns in both admin and on the model. This has the advantage of separating admin UI behaviours from ORM ones, but possibly causes some maintainabilty overhead
Add test to ensure data_set.name is created in the way we expect
Remove all explicit name references, just use group and type to infer data_set.name
change readonly_fields to be a set, to match readonly_after_created
Actually, django expects a list or a tuple :(

- We parse the readonly_after fields as a set, hence the disparity.
CamelCase and fix regex

- Fixed the str.replace in data-set names to globally replace `-`s with `_`s
- Changed to camelCase to keep convention in the file, but also match up with the spotlight crew
Merge pull request #145 from alphagov/name_from_group_and_type

data-set name from group and type