Add the ETag header to Pithub::Result.

First step in implementing conditional requests.
Fix the basic live test to be more robust.

Test::Deep's subhashof() means we don't need to check that every
key/value pair is there, just the ones we expect.
Support request caching aka conditional requests.

See https://developer.github.com/v3/#conditional-requests

Uses Cache::LRU for the caching.  It's simple and has no dependencies.
Maybe replace it with something else later.

The size limit of 200 is arbitrary.

Could use a better way of setting the cache size, but Cache::LRU doesn't
support changing the cache size.
Merge pull request #164 from schwern/feature/conditional_requests

Support conditional requests (caching)