Catch generic ReflectionException to add more information to the message and to throw an Auryn specific InjectionException.

So that when someone has forgotten to alias a class it changes the exception message from:

>  Class Intahwebz\Storage does not exist

to

> Could not make BaseReality\Controller\Images: Class Intahwebz\Storage does not exist

Which makes it easier to fix the problem, as you can see which class is failing to have it's dependency injected.
Catch generic ReflectionException to add more information to the message and to throw an Auryn specific InjectionException.

So that when someone has a typo in their typehint or has used completely the wrong class for a dependency, instead of showing the exception message.

>  Class Intahwebz\Storage does not exist

it also shows the class that is causing the problem.

> Could not make BaseReality\Controller\Images: Class Intahwebz\Storage does not exist

Which makes it easier to fix the problem, as you can see which class is failing to have it's dependency injected.