Package: extract base directory logic
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
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