[WIP] Feature/lazy services

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | possibly (new dependencies)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #6140 (supersedes) #5012 #6102 (maybe)
| License       | MIT
| Doc PR        | Please pester me to death so I do it

This PR introduces lazy services along the lines of zendframework/zf2#4146

It introduces a dependency to [ProxyManager](https://github.com/Ocramius/ProxyManager) and transitively to [cg-library](https://github.com/schmittjoh/cg-library).

## Lazy services: why? A comprehensive example

For those who don't know what this is about, here's an example:

Assuming you have a service class like following:

```php
class MySuperSlowClass
{
    public function __construct()
    {
        // inject large object graph or do heavy computation
        sleep(10);
    }

    public function doFoo()
    {
        echo 'Foo!';
    }
}
```

The DIC will hang for 10 seconds when calling:

```php
$container->get('my_super_slow_class');
```

With this PR, this can be avoided, and the following call will return a proxy immediately.

```php
$container->getDefinitions('my_super_slow_class')->setLazy(true);
$service = $container->get('my_super_slow_class');
```

The 10 seconds wait time will be delayed until the object is actually used:

```php
$service->doFoo(); // wait 10 seconds, then 'Foo!'
```

## When do we need it?

Lazy services can be used to optimize the dependency graph in cases when:

 * Webservice endpoints
 * Db connections
 * Objects that cause I/O in general

## Implementation quirks of this PR

There's a couple of quirks in the implementation:

 * `Symfony\Component\DependencyInjection\CompilerBuilder#createService` is now public because of the limitations of PHP 5.3
 * The proxy factory used in `Symfony\Component\DependencyInjection\CompilerBuilder#createService` currently writes proxies to `system_get_tmp_dir()`: should it instead `eval()` at runtime?
 * `Symfony\Component\DependencyInjection\Dumper\PhpDumper` now with extra mess!
 * The proxies are dumped at the end of compiled containers, therefore the container class is not PSR compliant anymore