Refactoring registrations to extension methods

Implements #108 
`builder.Populate(descriptors, fallbackServiceProvider: null);`