Updated ModelDiffer to handle implicit column type changes when columns ...

...are added/removed from keys.

If a column type is not explicitly specified, the SqlServerTypeMapper maps string to varchar(128) or varchar(max) depending on whether the column is used in a key (primary key, unique constraint, foreign key). Adding/removing a property to/from a key caused an implicit column type change that was not detected by the differ.
The fix makes DatabaseBuilder dependent to RelationalTypeMapper, which is used in ModelDiffer to detect potential implicit column type changes in order to generate alter column operations.
I may be missing something, but it seems to me that every property/column has a data type and that should be obtained before any diffing happens. The diffing should not care at all where the data type came from--by convention from the provider or because it was explicitly specified.