Fixed issue with TypeConverter.IsValid always returning true

Now returns true if null and true if the type passed in can be
converted to, and the conversion itself didn't throw an exception.

If the type cannot be converted to, or the conversion threw, then
it returns false.
Added test for In32 IsValid
Fixed formatting
Merge pull request #562 from grumpydev/TypeConverterFix

TypeConverter.IsValid fix