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.
How is this set when not building from VS? Is it set by K?