Implement reingest start

refs #6489

Fill out the stub of reingest on the Package model. Reingest copies the
package to SS internal location, extracts it if it's a file, copies a
subset of files to the pipeline's currently processing location, then
deletes the temporary copy.  The METS is always a required file, and all
objects (preservation and original) are required for access reingest.
We only create access copies from originals now, but will from
preservation in the future.
Added API-related fields to pipeline model/form.

Add hostname, API key & username to Pipeline model & form. Display in
pipeline template, with default values if none provided. Allow pipelines
to post API information, but do not display it if queried. Try to guess
a pipeline's IP if it requests default setup.  Update migration.
Call approve reingest endpoint in dashboard

refs #6488

Copy the reingest files to a staging directory on the pipeline, and call a
SIP reingest endpoint to notify Archivematica.  This allows the pipeline to
do some pre-processing of the SIP, such as clearing the database of old
information.

Enable PATCH for pipelines, specificially so that 'reingest' can be reset by
the pipeline.
Moved adding UUID to AIP path to hydrate

refs #6488

Some packages (currently AIPs and AICs) are stored in subdirectories based
on their UUIDs.  This is to avoid having large numbers of AIPs in the same
directory, which may cause problems for tools.

To ensure PUT and PATCH do not overwrite the actual current_path of a
Package, add the UUID prefix in the hydrate function.

Fixed pointer file moving to be relative to the Location, not an absolute
path.
Stub out finish_reingest AIP

refs #6488

Add PUT to support finished reingested AIPs, and subclass obj_update to
call finish_reingest if it's a reingested AIP.  PATCH limited to only fields
listed in allowed_patch_fields, currently just 'reingest'.