Workflow documentation

This is an attempt to decouple the ingest processes into something generic that can be abstracted into a gem and easily overridden by instituions who do not want to use the default behaviors. A first pass includes adding hooks for different events, extending the initializer, and writing an abstract ingest handler that can proxy for requests through both HTTP and batch workflows.