Two into one does go...

Update value generation per design meeting decisions

This is the main part of the work to update value generation per design meeting discussions. The two enums are replaced by one leaving it up to the provider to decide on the actual strategy to use. The update pipeline uses the temporary value flag through an abstraction in the state entry in order to determine whether or not a store value is needed.

Things still to do here:
- Allow explicit values to be set such that the value generator will not kick in at all
- Allow specification of provider-specific strategies through provider-specific APIs and annotations
- Fluent API for high-level abstractions
- Migrations updates to handle sequences, which will then allow sequences to become the default strategy for SQL Server
- Some more work to fully enable general database defaults