Added ProductVersion column to the migration history table. 

The product version is obtained from the informational version atribute on the assembly. I added the conditional compilation symbol VSBUILD to the Migrations project to have an informational version when running tests from VS.
Added code for setting max length annotations on the columns of migration history table, using same values as EF6.
Updated unit tests and added test for insterting history row with custom context key.
Also, is there some other way we can already detect this rather than using a new environment variable? Maybe @bricelam knows?