Update pointer file for entry creation

refs #5425

Update structMap and fileGrp, for when a package is split or unsplit.  Add
event and SS agent when the file is split.

Add helper function for writing PREMIS events and agents.  Update structMap
and fileGrp of pointer file with information on chunks.
Update pointer file with LOCKSS URLs

refs #5425

Query the state_iri for this package and parse it for the server states. If
all are in agreement, add those URLs to the pointer file for each LOCKSS
chunk.  Works for both split and unsplit packages.

Factor out generation of download URL, as that is the ID of lom:content
elements in the SWORD statement.
Minor fixes

refs #5425

Misc minor fixes: update_package_status idempotent (removes LOCKSS URLs
before adding new ones), download path returns correct URL for tar changes,
others.
Update pointer file - delete local copy

refs #5425

Delete LOCKSS chunks once AIP is safely stored, and remove their local URLs
from the pointer file.  If configured, delete local copy of AIP and update
pointer file: add deletion event, remove local URLs, etc.  Ensure that
multiple delete events not added if update status called repeatedly.
Download URL is absolute

refs #5425

Require the externally available URL to be configured for LOM Spaces, as
programatically determining the IP is unreliable.  Download URLs provided
to Lockss-o-matic prepend this to the relative path.

Service Document IRI converted to URLField to ensure it is a valid URL.
Collection IRI left as CharField, as it is read from the SD, and any
validation error would probably get buried.