Fixed string and datetime support on SqlScalar

An error was thrown when SqlScalar was used with string or datetime
types. This was due to OrmLiteConfigExtensions.GetModelDefinition trying
to find properties on these types when they should be considered as
"final" types.

Due to this refactoring and because most codebase uses the
GetModelDefinition method, it should be slightly more performant since
we shouldn't need to use reflection on these 2 types in the first place.

Added some unit tests to confirm functionality where currently the unit
tests covered only ints.