Testing and fixes to redbox_wrapper.py (mainly simple bug fixes)

fixes to workflows that were caused by new ReDBox required fields in the Metadata table.
* Edited pattern of view/edit/delete views so that the route_name is at the end rather than the number.
* Fixed effective pricniples to return group permissions+user permissions+groups (was previously user permissions+groups)
* Updated user relationsips to eager load (see next item)
* get_users in authentication.py now immediately expunges the user object to allow changes in session etc.
* Updated user password hash to use hashlib.sha1
* Updated submit page display of generated records to conditionally display delete button + view/edit is now create & edit if the record doesn't exist yet.

workflows.py:
* Fixed exception views so they don't require any permissions
* Updated _render_view to use validation on untouched pages (dictify() provides validation ready data, validate function fixes for some widgets).
* Updated generate_dataset_record to not merge the created record with the session (was being merged+added causing errors).