Slight changes to PR and rename of Exception
Reduce Duplication Between DefinitionInterface Implementations

Both ClosureDefinition and ClassDefinition share a lot of common things
but, generally, have duplicate code. This pulls that common code out
into an abstract definition.

Conflicts:
	src/Orno/Di/Definition/ClosureDefinition.php
Introduce ParameterReflecitonTrait

Pulls out the parameter specific things in `Container::reflect` to a
reusable trait.
Use the new ParameterReflectionTrait in the Container