Two-stage dataset create + introduce some functional tests for new_tests

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.
pkg_dict (and data in the above change) may be loaded from the database. Someone upgrading might have datasets in the 'draft-complete' state and I don't want to display those datasets as though they are active.

I would be willing to change these lines to ...`['state'] in ['draft', 'draft-complete']` to be more explicit if you prefer