Fix error message when type conversion fails.

Error message was only showing the value being converted and not the
type it was trying to be converted to:

    Value '1.2.3' can't be converted or casted to '1.2.3'

Now the error message is:

    Value '1.2.3' can't be converted or casted to 'NuGet.SemanticVersion'
Support conversions using custom type converters.

A cmdlet can now have a parameter that uses a custom type that has
a custom TypeConverter defined. Pash will now try to convert a
parameter passed on the command line to the custom type using this
TypeConverter.

    [TypeConverter(typeof(CustomTypeConverter))]
    public class Custom
    {
    }

One real world example of this is NuGet's Install-Package command
which has a Version property that uses a custom TypeConverter to
convert from a string to the SemanticVersion type.
Merge pull request #210 from mrward/conversion-using-type-converter

Type conversions using type converter