TEST: Pass arbitrary expressions as parameters

This was fixed in c60be0e78a5208075036a5c1e8b0362c9e3f62e3.
`for` statements should write results to the pipeline.

This test previously caught a bug where you couldn't pass expressions as
arguments. That is now covered by the test in commit
9f9131e118e8e66dbe40a4e945855753d4d94707.
Array expressions (`@(1,2,3)`)

Including correct handling of side-effects.

        PASH C:\> @(10)
        10
        PASH C:\> @($x = 10)
Merge pull request #107 from JayBazuzi/array-expressions

Array expressions
REFACTOR: Introduce Explaining Variable in `CommandProcessor.SetValue`
Implement `Foreach-Object`

And `ScriptBlock`s as parameters.

Now you can do:

    PASH C:\> $sb = { $_ , $_.FullName }
    PASH C:\> ls | % $sb
    Program Files
    C:\Program Files
    Program Files (x86)
    C:\Program Files (x86)
    Users
    C:\Users
    Windows
    C:\Windows
Merge pull request #108 from JayBazuzi/foreach-object

foreach-object
TEST: Parameter aliases and prefixes

Adds tests for:

1. Parameter prefixes: Get-Variable -Nam a
2. Parameter aliases: Get-Process -ProcessName mono
3. Parameter aliases by prefix: Get-Process -ProcessN mono
4. Passing a named parameter with no mathc produces and excpetion:
Get-Process -Procecc mono
TODO: Document outstanding logic changes for parameters
Invalid parameters should cause exception

This now fails with exception as Procecc is not a valid
parameter for the Get-Process Cmdlet:

	PASH /> Get-Process -Procecc mono
Allow parameter aliases and prefixes

Allow parameters to be specified by only specifying
part of the parameter name (although in powershell this
is widely considered poor practice).  Enough of the
parameter name must be specified to avoid ambiguity with
other parameters.

This also adds support for specifying parameters by their alias
and also allows specifying them by prefix as above.

As a result these styles of parameter passing now work:

	PASH /> Get-Variable -Nam a
	PASH /> Get-Process -ProcessName mono
	PASH /> Get-Process -ProcessN mono
TEST: cleanup and enable passing tests
Merge pull request #109 from b333z/paramchanges4

Allow named parameters to be specified by alias and prefix
Added support for -Descending in Sort-Object
Added tests for Sort-Object
Authors updated
Swap variables instead of introducing new ones
Merge pull request #110 from ygra/Sort-Object-Descending

Support for Sort-Object -Descending
Fixed static method lookup to be case-insensitive
PathShouldEqual for other drives than C:

Previously running the tests on Windows from another drive than C: (e.g.
D:) would produce 8 test failures. Since they do work when the current
folder is on the C: drive this can be a bit vexing to debug and figure
out. Tests in general shouldn't depend on external factors like the
current folder to fail or succeed, even if they are currently a hack.