Implements a fallback on the stagecraft api model fetch method

When this is called it will first attempt to get config from stagecraft
before falling back to a request to the local app.

This is tested by faking sync to record the url used at each stage in
the fallback. There is also a unit test for the fallback toggling
itself.

This still requires pp-deployment changes to set up the per environment
urls

BEFORE MERGING:

Please suggest better ways to only react to the second error in process request. Is there a way to turn off the event in the first fetch?

Want to get this in now and invite comments though as I'm on second line tomorrow and it may be necessary for someone else to finish this off (though hopefully not).