REFACTOR: Use LINQ

Thanks to LINQ, we no longer need to iterate through collections to
convert them to `Array`

Note that returning `Array` from this method is a little weird - usually
you'd return `object[]` or something. There's only one caller, and it
doesn't use the return value, so this code doesn't matter (yet).
TEST: Add a (disabled) test for Issue #6 - stackoverflow on unrecongized command
Remove an error check

I'm struggling to make sense of this code, and anything I can do to
simplify things will help.

I don't know of any cases where this check matters; unit tests all
pass. Let it go.
Remove an empty ctor.

No reason for it to exist.
FORMATTING: Remove a couple newlines.

Call me OCD.
Pledgie Donate button
sourceforge license reference through archive.org

I'm using the contents of a sourceforge.net as an authoritative reference for legal purposes. But web pages can change (and disappear) at any time.

By switching to a copy at archive.org, we don't have to worry about changes to that page.
Merge branch 'master' into work2
REFACTOR: `IsAssignableFrom` extension method
REFACTOR: Make an extension method for dispatching to `AstVisitor`

This is really just syntactic sugar.
REFACTOR: Rename `processor` -> `pipelineProcessor`

To make it more obvious.
REFACTOR: Extract method `BuildPipelineProcessor`
BUG: Parse paths with colon

The `label` rule is missing from the language spec. I guessed how to
write it, but got it wrong. This caused the start of a path with a colon
to parse as a rule (wrong!).

Colons go at hte start of a label. Fixed.