Call and use ConfigureServices if exists

Currently only looks for signatures like this:

public [static] void ConfigureServices(IServiceCollection services, ...)

Will add support for more overloads like one that returns a IServiceProvider next
Seems like there are more unit tests that could be added here because the new matrix of scenarios is a bit trickier. It deals with tracking instances, varying by environment, passing in the right services collection, etc.