Add a .NET Version column to the VersionInfo table

Changes to the MigrationAttribute to allow for a stringified version of a
.NET Version object to be passed.
Changes to other associated classes to hold that version object in the
MigrationInfo class and store it to the database when the VersionInfo table
is written.