Service locator improvements.

Removed additional arguments from resolve api.
If someone whishes to use them, he can use IObjectFactory directly anyway.
Provide service locator under IServiceProvider interface.
This removes dependency from Revenj if required for external code.
Changed resolution to use first public constructor instead of matching a single constructor for reflection construction.
IServiceProvider returns null when component can't be created.