`X-Datalayer-Version` and `X-Datalayer-Reference` are now used instead
of the `Last-Modified` and `If-Unmodified-Since` headers.
`Last-Modified` is granular to the second, which led to problems with
the versionning. The new system uses timestamps instead.
This commit also changes the way versions were created. Previously,
the associated version was coming from two different places:
the last modified time from the filesystem and a `time.time()` call
done when saving the model, which could result in the two getting
out of sync.
Previously, an error was thrown when the reference datalayer
had no `features`defined.
When looking for features, it now defaults to an empty list if the key
doesn't exist.