Split of StepArgumentTypeConverter logic

Converted StepArgumentTypeConverter into a chain of responsibility
delegating the conversion logic to:
- IdentityConverter which returns the untouched value if it can be
assigned to a variable of the target type (logic comes from
StepDefinitionMatchService and TestExecutionEngine)
- StepArgumentTransformationConverter which tries to perform the
conversion using user defined step argument transformations
- SimpleConverter which handle the simple conversions: enums, GUID and
whatever is supported by System.Convert.ChangeType
Improved StepArgumentTransformation validation

Fixed bug causing StepArgumentTransformation regex to be bypassed when
argument is not a string.
Added check for StepArgumentTransformation to have one and only one
parameter when no regex is defined.
StepArgumentTypeConverter support spaces in enums

Sames behaviour as in SpecFlow Assist namespace
StepArgumentTypeConverter support for tables

Added support for table conversion directly in
StepArgumentTypeConverter.
Added test for single header horizontal tables

If HorizontalTableConvert can't find a conversion from a vertical table
to the target item type, and the vertical table only has one property,
it will try to find a converter for the string value of this property.
Changed constructor selection in Table conversion

VerticalTableConverter will use the constructor that includes the
maximum number of columns with no matching writable property. Columns
with no matching constructor parameter or writer property are ignored.
Fixed nullable types issues

Fixed issues in Invalid handling of empty strings in tables when
converting to nullable enum types
Revert "Fixed nullable types issues"

This reverts commit 014320d2251431bfb6849897de9e41d7c0de452a.
Fixed nullable types issues
Updated changelog to contain nullable enum fix
BindingInvoker now waits for any Task that a step returns (and report exceptions properly). This required an upgrade to .NET 4 in TechTalk.SpecFlow.csproj
Implemented Table extension methods CompareToProjectionOfSet and CompareToProjectionOfInstance.
Update Languages.xml

Add German "Gegeben seien" ;)
Updated Australian English

Updated Australian English as per https://github.com/cucumber/gherkin/pull/196
Merge remote-tracking branch 'upstream/master'
Add description to testOutput parameter of nunitexecutionreport
Add overload to Assist's CreateSet<T> accepting a Func<TableRow,T> to create each instance.
Specflow Test execution report with tags

New Features:
+ Specflow Test execution report derived through MSTest or NUnit
displays the tags attached with each scenario or feature in a seperate
column viz. "Category"
+ Minor fix for a toggle functionality in the XSLT file to make it work
consistently with IE and Chrome.
New Features:
+ Specflow Test execution report derived through MSTest or NUnit
displays the tags attached with each scenario or feature in a seperate
column viz. "Category"
+ Minor fix for a toggle functionality in the XSLT file to make it work
consistently with IE and Chrome.
Revert "Specflow Test execution report with tags"

This reverts commit f60e5d442a4e8232d8ff2e4a18b88b5aa567deaa.
Add "category" nodes for tags through MSTest Report

Added "nunit:category" node for representing tags when MSTest
Report(trx) is used for generating the Specflow report.