Allow Modification of Existing Service Definitions

Closes #26

Introduces the new `ContainerInterface::extend` method that allows users
to fetch an already existing definition for modification.