Add rudimentary caching for some P4 calls.

This caching class (MapBasedIFileSpecCache) never expires elements but
it helps me test out whether the caching logic is sound in the P4-wrapping
classes.
More caching improvements:

- Add cache name to ICache interface.
- More appropriate class and method names for invokers.
- Split out cache key implementation to its own file.
- Add a non-caching ICache implementation (which will be the default for any releases for now).
Reshuffle class hierarchy.
Reshuffle class hierarchy
Use "P4 have" list for smarter operation, better logging
Tweak the simple map-based cache for concurrency safety
Add a Guava Cache-based ICache implementation
Reorganize PerforceVcs class a bit
Whitespace
Rudimentary caching support, use "P4 have" list for smarter operation, better logging.
Whitespace
Slightly better server status logging