Change pk field name to something more sensible
`get_from_cache` method now returns Snippet or None

Never raises an error if the Snippet is not found, simply returns None.
Internally it sets the cache value for that key miss to -1 as a way to skip it
on the next lookup, until a value is actually supplied.