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.
Instead of making the tests use `cls.app`, it's better for each test to call `app = self._get_test_app()` (or something similar), so we're sure the tests are using an isolated app. The reasoning behind this is better explained at http://docs.pylonsproject.org/en/latest/community/testing.html#guideline-share-setup-via-helper-methods-not-via-attributes-of-self