Integration tests for ingest steps plus some fixes.

Tests ingest forms by using a shared variable 'models'.

Additional stuff:

'models' is no longer a required config for ingest steps, now
its set from the given objects.

No longer need to rebuild steps from within a form step when the
shared_storage gets changed, we now detect if changes have been
made then we rebuild if necessary.

Fixed POST requests in WebTestCases previously the user was always
anonymous so interactions with fedora would fail via post requests.