Fix for testing #38 - VS cannot run [Theory] tests with multiple

parameters

The problem here is the way we're using for VS to communicate with the
test runner via the commandline isn't very well suited for the problem
space.

If VS wants to run `MyTestClass.Test1` and `MyTestClass.Test2` then it will
build a commandline like:

`k test --design-time --test MyTestClass.Test1,MyTestClass.Test2`

The runner knows to split the argument on `,` or `;` and then we have the test
names to run. This is problematic when the test name contains either of
these characters.

This change implements context-aware splitting on `,` - a comma inside
parens is not treated as a delimiter, as well as a host of other parameter
passing options.

For now this is compatible with what VS does. We might want to remove
support for delimiters and choose a better option.
does passed name include the `MemberData` and `InlineData` values as well?  if yes, test names like MyTest("ToString()", "HashCode()") seem possible.  Might need to increment / decrement a count of the parens seen.