Two-stage dataset create

Remove the third stage for creation of new datasets. The fields from the third stage can be moved to the first stage and appear just like they do when editing a dataset. This will slightly simplify our current knotted mess of templates for dataset creation and editing:

yellow: controller methods
blue: normal templates
orange: template snippets

![package-templates-big-1](https://cloud.githubusercontent.com/assets/153258/2792491/64b40260-cbd3-11e3-8b23-0676766e1aef.png)

To this:

![package-templates-big-2](https://cloud.githubusercontent.com/assets/153258/2792502/9b448eee-cbd3-11e3-964b-e39b9739fe3e.png)

1. The edit() and new() controller methods will no longer directly render p/new_package_form.html, it will be rendered by p/edit.html and p/new.html as normal snippets, just like all the other templates.
2. p/new_package_form.html will no longer hide the dataset fields that are currently on the third page. After completing the first stage the dataset will be a complete dataset with 0 resources.
3. new_metadata() controller method and p/s/package_metadata_form.html templates will be removed. All the data will have been created in the first stage.  The draft dataset state no longer applies.

In a some distant future version of CKAN that breaks backwards compatibility with everyone's dataset template customization it would be nice to get closer to something like this:

![package-templates-big-3](https://cloud.githubusercontent.com/assets/153258/2792505/a4f5d5f6-cbd3-11e3-9790-c8d932a5fd0a.png)

But this will be in another PR.
`helpers.reset_db()` should work. It's good to call it on `setup()` and I like to call it on `teardown_class()` as well, so we don't leave garbage for the next tests, but given that we tell people to call it on `setup()`, it's not really needed.