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.
Delete key doesn't send EOF
Fixed Ctrl+C handling (only aborts editing now)
Reverse Search shouldn't crash prompt is in last line
Removed unnecessary reference in project
Merge pull request #211 from sburnicki/bugfixing

Several minor bug fixes
Merge pull request #210 from mrward/conversion-using-type-converter

Type conversions using type converter
Distinguish whether using interative IO or not

Some features, as reading from the user (Readline in LocalHostUserInterface)
might only be available when Pash is used within a console, like the PashConsole/FullHost.
However, it might also just be used as a framework, which should not depend on user
interaction but throw an exception instead, which can be catched and reacted on.
Refactor: GatherMissingParameters will get all parameters to be gathered.
Support for prompts/gathering missing cmdlet parameters
Test Suite adjustments to work with changes

The TestHostUserInterface derives from LocalHostUserInterface now in order to make
more elaborate functions as the Prompt() function of the LocalHostUSerInterface better testable.
Therefore, the TestHostUserInterface overrides all ReadXXX and WriteXXX functions as all other
functions will depend on those now.

Also, it's now internally optional to add read data to the history. Currently on non-Windows systems
getline.cs is used as a cmdline interface which also supports a very basic history. However, simple reads
shouldn't end up there.
Tests & bugs fixed for interactive cmdlet parameter gathering
Merge pull request #212 from sburnicki/parameter_input

Interactive parameter input for missing mandatory parameters