We add the hash of the file to the static assets, so they can be cached
indefinitely. This also, however, means that we need some way of referring to
them.
We need to depend on its API for fuphttp, so it's better if it's a separate
package to avoid embedding things we don't need.
In general it's probably a good idea to separate the logic from the embedded
content...
This allows setting the persistent storage location to save files into.
NOTE: defaults to mem:// for development purposes, which... is gonna be a bad
time.
This extracts the hash-named static assets into a directory. This is primarily
useful if you have multiple instances of fup running and you therefore need to
serve /static from a shared filesystem of some sort.