In which we improve S3 support in our API

- add routes for listing, deleting and uploading S3 resources to Quests
- put S3 signing requests in URL's beneath the affected resources
- simplify S3 signing implementation in the back-end and in the front-end example code
- better docs for S3 uploads

@maiamcguinness @thcrock @malynda @wilhow

> This is a pretty heavyweight import, right? Don't you just need backend.app.config?
> 
Not sure what you mean -- "from backend import app" is just as expensive as "import backend”
What would you suggest changing here?
> Also, not sure if Flask works this way, but I like my config to hold variables instead of just a big lookup dict, so not only can you import them directly (from backend... import AWS_ACCESS_KEY, AWS...), but typing mistakes get caught as early as possible.
> 
Nah, in Flask-land it’s going to be a dictionary.  I could import backend.config and look at that (which is where app.config is populated from) but I think it’s good form to look at app.config instead.