Refactor Zend\Version\Version to optionally use Zend\Http\Client

With this update, we can perform version checks without relying on the
environment having allow_url_fopen = 1.

You can now optionally pass in a Zend\Http\Client instance.

Tests are enhanced to run in a separate process to avoid problems during online
tests where tests would not actually be run because the class would cache the
first response, and subsequent responses would use that cached response.

- Emit helpful warning if allow_url_fopen is not set
- Split Github/Zend service calls into their own methods
- Early return cached version to reduce nesting
- Rename methods for consistency
- Consistent usage of self:: instead of static:: as the class is marked 'final'
Update composer.json to suggest Zend\Http component