Replace individual parameters with wildcard

It's not that we ever want to pass more than ten arguments; it's about
the fact that we'd like to be able to pass arguments like this:

    .\build.cmd /p:OutDir='D:\test\'

Using individual arguments, MSBuild is called like this:

    MSBuild.exe /p:OutDir D:\test\

That's because the equal sign is considered a separator in batch files.
Replace MSTest with xUnit
Run tests in command line build
Add xunit.runner.visualstudio
Add option to suppress running tests

When running on a build machine, such as Visual Studio Online, the outer
build process already runs the tests as a secondary step. The benefit is
that those systems typically provide additional functionality, such as
measuring code coverage and reporting on the pass rate.

Thus, it makes sense to suppress running the tests as part of the
inner build process so that tests aren't executed twice.
Change the way the row buffer is passed to expressions

In order to evaluate joins with outer references, we'll need a way to
build expressions that access multiple row buffers. Thus, stop passing
the row buffer directly to the compiled expression delegate.

Instead, use a new row buffer allocation object which holds a row buffer
as well as the mapping from a value slot to an index. Create a separate
row buffer allocation per join-side. When visiting the right side of a
join, consider the row buffer allocation for the left hand side visible;
as it provides access to (potential) outer references.

When compiling a value slot expression include all row buffers that are
visible. Use the first row buffer allocation whose row buffer contains
the value slot. Engrain that row buffer into the compiled delegate by
using Linq's Expression.Constant.
WIP: Add support for EXISTS in WHERE clauses

    Remaining:
    - Handling of CASE and pass-thru
    - Handling of cases where we need a probe column