Fixup references
Remove framework assembly versions
Adding support for service factories in IServiceDescriptor

Fixes #104
Reacting to CLR package versioning changes
IServiceProvider.GetService can return null

Also expermenting with some service-graph calculation
Wrapping up some experimenting
Change QueueUserWorkItem to Task.Run to support core runtime
Return null for missing services from third-party IServiceProvider adapters

- Update tests to expect this behavior
- Update extension methods to expect this behavior
Support ImplementationFactories with new IService interface

- The new IService interface has a CreateCallSite method instead of a
  Create method. While Create used to return the service object directly,
  CreateCallSite returns an IServiceCallSite which can be used to either
  get the service object or return a compiled Expression to do the same.
Pull in resolved services if necessary from ClosedIEnumerableService
Test that IServiceCallSites' Build and Invoke methods maintain consistency

- Ensure that singleton and scoped services are not re-instantiated
- Ensure that both Build and Invoke handle various service types
- Ensure that Build can resolve nested scoped services
Lock in ScopedCallSite.Build
Change ServiceProvider's reference to the root container to be a field
Make IService also an IServiceCallSite where this is trivial
Clean up new code related to adding IServiceCallSite
Move all nested classes to the bottom of ServiceProvider
Added Generic GetRequiredService extension method for IServiceProvider
Remove portable framework assemblies from nupkg dependencies
Revert "Remove portable framework assemblies from nupkg dependencies"

This reverts commit 99a771139ab1050f8c55c347737051c7be143e8c.
Updating build.sh to work on Mono