Add sign in feature to admin app

This includes:
- Copy static assets and templates from the write api
- Add authentication related views
- Add final homepage view

This commit introduces a *lot* of duplication between the write api and
the admin app. The write api is being left as it is until this is merged
to avoid tying the backdrop release to a release of `pp-deployment`.
Fix indentation
Refactor UploadedFile to not save

Make `UploadedFile` concerned with loading and uploaded file and parsing
it. It then returns a list of dictionaries that can be passed to save.
Add after scenario handlers

Allow behave steps to add functions to be run after the scenario is
complete. This can be used for cleaning up resources.
Move steps around and mark those to delete

- Move file upload related steps to the admin module
- Create an login step in the admin module
- Mark write api login steps as to be deleted (will be deleted once
  uploading is removed from the write api)
Refactor `UploadedFile`

- Rename `FileUploadException` to `FileUploadError` as it's not
  exceptional, it's just an error.
- Handle virus scan failures in the same way as any other failure (raise
  a `FileUploadError`)
- Move saving and removing temporary file into `UploadedFile` -- it is
  directly related to `UploadedFile`'s validation responsibilies
- Move parsing and saving out of `UploadedFile` -- `UploadedFile` should
  only be concerned with validating the uploaded file.
Implement storing uploaded files in `admin` app