Added support for caching the responses from Amazon's data.

If you need to call the functions multiple time it will save the time to
execute a request to Amazon to bring the data.

To enable caching set use_cache=True.

You can also select the caching mechanism. By default its a simple cache
forever policy (SimpleResultsCache) that will cache the responses forever until the process
is stopped/restarted.

If this is a long running process, use the TimeBasedResultsCache class
which will expire the cache after a specific set of time (default 1
hour).

To use it, set cache_class to the class (i.e.
cache_class=TimeBasedResultsCache)

This change was inspired by a pull request by Omri Bahumi (omribahmi).
Thanks Omri!