AddDbContext method for DI

I would like to understand what the options are for getting options into the context instance. We should then define constructors on DbContext that work with that, which would then allow people to "override" these constructors in their derived context classes. After all that we can see if it makes sense to do anything automatic if such a constructor is not overridden. Hopefully it will not be very useful, in which case we will only need to support 1.