Temporarily reverting Single/Take SQL support
Cadbury's Options: just 40 calories per cup! (Updates to DbContextOptions)

This change looks big, but a lot of it is trivial changes to naming. The significant changes here are:
- Collapse DbContextOptions and DbImmutableContextOptions into one class
- Allow for generic DbContextOptions so that different options can be created for different contexts
- Get this options object from the service provider if it one is available. This will theoretically work with the options stuff happening elsewhere
Space-age composite polymer; not a shred of sqlmetal... (Support composite keys end-to-end)

This change adds support for value generation with composite keys which was blocking use of composite keys end-to-end. The state entry will now generate values for any property marked to have value generation on add regardless of whether that property is part of a key, composite or not.