Merge pull request #10 from simensen/description

Added "Key Concepts" section to help explain naming conventions.
Add isHit and isMiss to CacheItem in place of isValid

Renamed `isValid` to `isHit` as discussed on IRC. The concept
of cache validity is a separate concern and we should not
overload the meaning here.

Added `isMiss` as syntactic sugar for `!$item->isHit()`. There
were apparently some mailing list concerns about `isMiss`
looking like a double negative. However, there are two states,
a "cache hit" and a "cache miss" and people will build workflows
around both concepts. Forcing one over the other to need to
negate with `!` seems like overkill.