Add Callback forms, views

This allows for generic REST API callbacks to be associated with given
types of events. A callback is given a URL pattern, an HTTP method to
use when contacting that URL, and an expected HTTP status.

The only such event right now is "post-store", but this could be used
other places. For instance, AIP reingest could use this instead of
using its custom callback.

refs #6788
Add post-store AIP callbacks

This adds a new REST endpoint that allows a post-store callback to be
executed for every file in a given AIP.

This will only trigger for files which exist in the File table, which
in practice means only files that were transferred from Islandora.

refs #6788
Space: update_package_status must always return a tuple
Post-store callback: always continue when checksum missing
SWORD helpers: log exceptions during download
SWORD helpers: checksum correct path
SWORD: track object_id at item, not root, level

The location where this is needed only has access to individual item
records, not the root level.
Post-store: filter on non-stored files, handle multiple
SWORD helpers: check for transfer before approving
SWORD helpers: name Fedora METS after object ID
SWORD API: store all METS files

Previously, only the first METS file for a given set of files would be
stored. This stores every METS file, so that multi-file transfers will
contain the full set of metadata.
SWORD: download MODS records with OBJ items