Container::call() now supports invokable class names

`Container::call()` supports callable objects:

```php
class Foo {
    public function __invoke() {
    }
}

$container->call(new Foo);
```

This pull request adds support for providing the class name as string: `$container->call('Foo');`.

The object will be created using `$container->get()` before being invoked. For example:

```php
$container->call('Foo');

// is the same as
$container->call(
    $container->get('Foo')
);
```

This feature adds consistency for `Container::call()` with #185 and #173. Now `Container::call()` can call anything and it's awesome.

I have also included tests for the definition dumpers.