Lazy services

This PR is based on #4145

It introduces two factories that define delegates capable of generating lazy services. For this, an optional dependency to [`ProxyManager`](https://github.com/Ocramius/ProxyManager) was introduced.

If this one is ok, I'll start writing docs for it.

Current usage is via config - in an MVC application, define following:

```php
return array(
    'lazy_services' => array(
        // needed, defines a map of service name to class name
        'map'                   => array('foo' => 'stdClass'),
        // namespace of the proxies to be generated
        'proxies_namespace'     => 'MyAppProxy',
        // whether to generate or not the proxies at runtime
        // if false, an autoloader will be registered
        'auto_generate_proxies' => true,
        // where should the proxies be saved?
        'proxies_target_dir'    => 'foo/bar',
        // should the generated proxies be written to disk?
        'write_proxy_files' => false,
    ),
    'service_manager' => array(
        'invokables' => array(
            'foo' => 'stdClass',
        ),
        'factories' => array(
            'foo-delegate' => 'Zend\ServiceManager\Proxy\LazyServiceFactoryFactory',
        ),
        'delegates' => array(
            'foo' => 'foo-delegate',
        ),
    ),
);
```

Documentation PR at zendframework/zf2-documentation#832

Implemented also for symfony at symfony/symfony#7527