Most of a first pass at a cache, except for Cache->expire()

	modified:   dist.ini
	new file:   lib/Weather/OpenWeatherMap/Cache.pm
Cache->expire

	modified:   lib/Weather/OpenWeatherMap/Cache.pm
use namespace::clean;

	modified:   dist.ini
	modified:   lib/Weather/OpenWeatherMap/Error.pm
	modified:   lib/Weather/OpenWeatherMap/Request.pm
	modified:   lib/Weather/OpenWeatherMap/Request/Forecast.pm
	modified:   lib/Weather/OpenWeatherMap/Result.pm
	modified:   lib/Weather/OpenWeatherMap/Result/Current.pm
	modified:   lib/Weather/OpenWeatherMap/Result/Forecast.pm
Cache working run

	modified:   lib/Weather/OpenWeatherMap/Cache.pm
	new file:   t/cache.t
test Forecast caching

	modified:   t/cache.t
Cache POD

[skip ci]

	modified:   lib/Weather/OpenWeatherMap/Cache.pm
cache opts for OpenWeatherMap.pm

	modified:   lib/Weather/OpenWeatherMap.pm
	modified:   lib/Weather/OpenWeatherMap/Cache.pm
	modified:   t/cache.t
examples/simpleweather-caching.pl

	new file:   examples/simpleweather-caching.pl
Cache expiry test

	modified:   t/cache.t
OpenWeatherMap->cache_expiry attrib

	modified:   lib/Weather/OpenWeatherMap.pm
POD tweaks

[skip ci]

	modified:   lib/Weather/OpenWeatherMap/Cache.pm
use Time::HiRes::time for Cache

(mostly because why not, but also cache expiry test can be Fast now)

	modified:   lib/Weather/OpenWeatherMap/Cache.pm
	modified:   t/cache.t
OpenWeatherMap->cache related POD / tests

	modified:   lib/Weather/OpenWeatherMap.pm
	modified:   t/openweathermap.t
Use ->tempdir(CLEANUP => 1) for default cachedir

	modified:   lib/Weather/OpenWeatherMap.pm
	modified:   lib/Weather/OpenWeatherMap/Cache.pm
Merge branch 'cache'

* cache:
  Use ->tempdir(CLEANUP => 1) for default cachedir
  OpenWeatherMap->cache related POD / tests
  use Time::HiRes::time for Cache
  POD tweaks
  OpenWeatherMap->cache_expiry attrib
  Cache expiry test
  examples/simpleweather-caching.pl
  cache opts for OpenWeatherMap.pm
  Cache POD
  test Forecast caching
  Cache working run
  use namespace::clean;
  Cache->expire
  Most of a first pass at a cache, except for Cache->expire()