Roughed in AIP recovery model functionality.

* Added recovery logic to Packag model
* Added REST endpoint to submit recovery requests to
* Added AIP recovery request administration to UI
Added corrupt files backup during AIP restore.

Added a setting allowing the directory where bad AIP files should be
copied to to be specified and logic to copy the bad AIP files.
Fixed issue caused by refactor.
Added auto-create recovery location.
Fixed issue with request descriptions.
Fixed recover request approve issue.
Fixed two small issues.
Got rid of setting and added dir creation.

Got rid of the recover_backup_path_within_location setting and added
auto-creation of the recover and recover/backup paths within the
internal storage space.
Message if delete/recovery request to wrong type.

Added return of a message in a JSON response if a delete or recovery
request is made to the wrong package type.
Error if restore attempt woth no files.

Added error notification if trying to restore an AIP without the
necessary files present in the restore directory.
Replaced use of identifier with constant.

Replaced use of an identifier string with a constant.
Prevent creation of redundant recover locations.

Added logic to prevent the creation of more than one recover location per
pipeline.
Add request event ID to event request responses.

For the REST endpoints used to create request events
(AIP deletion request, AIP recovery request), return the
ID of the events event in the JSON returned upon success.
AIP request optional remote endpoint notify.

Added configuration options/logic to enable remote REST
endpoints to be notified upon approval/rejection/failure of a
requested AIP operation. Enabled for AIP recovery.
Add Sphinx doc of AIP recovery admin/process.