Move Silex inside Hoard namespace

I have moved the Silex service provider inside the Hoard namespace.

This was not allowing me to use the service provider without it being here because it did not know where to find the file. It was looking inside the Silex namespace, which is not in the Hoard folder obviously. 

To use the service provider you now do:
````
$app->register(new Hoard\Silex\Provider\HoardServiceProvider());
````
Before it seemed to want:
````
$app->register(new Silex\Provider\HoardServiceProvider());
````

If this is incorrect, and there is a better way of calling the service provider then let me know, but i cannot see a way of doing it.

I also made the service provider use the Hoard Exception class.

Scott