I really hope all this negativity is short lived... (Update value generators to be able to mark generated values as temporary)

This change allows value generators to mark generated values as temporary, which in turn will allow the update pipeline to make a decision as to whether a store-generated value is expected.
Removed the ContextType property from IMigrationMetadata. The association between a Migration class and a context type relies solely on the ContexTypeAttribute. Also passed the context type as parameter to methods that generate migration code and use it.