Create new objects as required during hydration.

This patch allows the hydrator to create new entities as required during
inflation, if an existing entity cannot be found and there is data where
it expects to be, e.g. instead of

```php
<?php
$new = new Entity;
$new->setFoo('bar');
$data = array(
    'entities' => array($new)
);
$hydrator->hydrate($data, $entity);
?>
```

it is instead possible to do

```php
<?php
$data = array(
    'entities' => array('foo' => 'bar')
);
$hydrator->hydrate($data, $entity);
?>
```