Don't serve up assets without digests in development

If config.assets.digest = true and
app.config.assets.raise_runtime_errors = true, we don't serve up assets
without digests.

Here are the different cases:
- If the asset request has a digest and it matches the asset's digest, we
serve the asset.
- If the asset request has a digest and it does not match the asset's
  digest, we redirect to the asset.
- If the asset request does not have a digest, we raise a NoDigestError.

Fixes #117