Allow for setting a cache namespace

If `cache_namespace` is set, `setNamespace` will be called on the resulting cache instance if it is a Doctrine CacheProvider instance. Doctrine's CacheProvider will take care of normalizing this call for various backends based on its own rules.

    $app->register(
        new Dflydev\Silex\Provider\DoctrineOrm\DoctrineOrmServiceProvider,
        array(
            'orm.em.options' => array(
                'cache_namespace' => 'appname_',
                'metadata_cache' => 'apc',
                'query_cache'    => 'apc',
                'mappings' => array(
                    array(),
                ),
            ),
        )
    );

Thanks to @asiermarques for this work.

Closes #15
Closes #16