Upgrade Guzzle client

We need a newer version of Guzzle to work with the latest caching plugin
functionality.
Tests passing with Guzzle library update.
Initial cache response test.
Add OoyalaCachePlugin

The OoyalaCachePlugin is used to easily provide a cache backend configuration. There are some defaults (like SkipRevalidation) that are needed to actually cache ooyala responses because of issues getting back valid Cache headers in the response.

Custom "can cache" strategies are provided as defaults to get around the lack of Cache response headers.
More configuration options for OoyalaCachePlugin.

Now client code can configure cache control settings like max-age and stale-if-error. Removed Cache-Control configuration from the OoyalaClient class.
Clean up the OoyalaClient.

- Moved OoyalaClient::onCommandBeforeSend() event to OoyalaSignature plugin.
- Set timeouts to 0 for tests.
Add inline comments for configuration.

Going to add some documentation eventually...
Fix Cache-Control value and OoyalaCachePlugin config bug.
Changing hard values for cache lengths to constants. Adding group for cached response test.
Arrays can't be constants, but public statics can be
Bah.
Set doctrine/cache to a stable version.
Fix PHP 5.3 build error in Travis build 29.1

"Fatal error: Cannot access self:: when no class scope is active..."
First attempt to serve cached response on timeout.

Right now a very hacked way to recover from a timeout and serve a cached
response from the built-in Guzzle CachePlugin.
The setState() call is not necessary.
Doing a little cleanup.

Remove the extra `if` condition, make sure everything is in order before
processing an exception.
Don't try to save the timeout when disabled.
Rename Ooyala cache plugin class.

Doing some cleanup and remove unnecessary classes.
Refactor OoyalaCache use of isEnabled.

Instead of "enabling" the subscriber, the subscriber should just be
removed.
CachePlugin initial tests.

Not perfect, but provides a start of some tests.