Added optional ManifestStaticFilesStorage to staticfiles.

This is work in progress of a new storage backend in staticfiles to be able to generate files with hashed names without relying on a configured cache backend. Since the file is stored as part of calling collectstatic there are no moving parts when running a site with it. Especially with remote storages the number of requests should be dramatically reduced.

@apollo13 mind a review?

This will be squashed into one commit once reviewed.