Add myself to the authors file.
Merge pull request #45 from ForNeVeR/static-properties

Static properties support
Force source files to UTF-8.

I want to automate some modifications to all source files, with
PowerShell. PowerShell likes to write a BOM to files, and and adds
newlines to the ends. So let's do that as a separate step.

Git gets confused by source files in Unicode, which is PowerShell's
default encoding. Meanwhile, some files have non-ASCII characters in
them, such as the copyright symbol in the default AssemblyInfo.cs, and
the "section" characters I picked up from the PowerShell Language
Specification. Unicode is too much, ASCII is too little - UTF-8 is just
right!

Commands I used are at https://gist.github.com/JayBazuzi/5230866
Add a minimal copyright header to all source files.

While we own copyright to our work by default, it's easier to enforce
copyright if we explicitly state it in each source file. That would mean
each file gets a statement of copyright for each contributor with the
year(s) of the contributions listed explicitly. That's very tedious, and
therefore error-prone.

License must be explicitly granted, and the more explicit you are, the
easier it is to enforce. The belt-and-suspenders approach is to put a
LICENSE file in the root directory *and* a comment header at the top of
every source file (with the full license in the case of MIT/BSD, and an
few short paragraphs in the case of GPL). Personally, I find it very
annoying when I open a source file and the first screenful is boilerplate
legalese that I want to ignore. And with well-factored code (small
classes), the legalese can be bigger than the code - a sign that
something is very wrong.

For precedent, I looked at several other open source projects. Most
didn't bother with copyright/license headers of any kind. Igor didn't
bother with comment headers with his original release of Pash, either.

I'm not worried about people "stealing" Pash code, since we're not really
innovating here.

I decided to turn the dial ever so slightly towards more legalese, by
adding a single line indicating copyright and license in every source
file. I hope this is a good balance between legal protection and
developer comfort.

TODO: Automate verifying that this is in place, new files get added.
New copyright message when launching Pash.

GPL says you should print this, and the old one was out of date anyway.
Add copyright/license information to assembly metadata.
Merge pull request #46 from JayBazuzi/copyrights4

Add copyright/license messages to all sources.
TEST: Repair/disable parsing test

This test was written incorrectly; when written correctly, it fails
(hanging!). Disable for now.
TEST: Goal test for calling a static method.

And some other tests, disabled.
Remove grammar from comments in `AstBuilder.cs`.

The comments represent the grammar as described in Microsoft's PowerShell
Language Specification document, but the implemented grammar diverges from
that document in several ways. Keeping the comments in `AstBuilder.cs` in
sync with the actual implemented grammar in `PowerShellGrammar.cs`
voilates DRY, and was getting out of sync. Removing it.
AST for static method invocation (`[char]::IsUpper('a')`)

Argument lists have an grammar very similar to expressions, but slightly
different. I did copy/paste of the AstBuilder code for expressions, then
hacked until it compiled, then hacked until my test passed. So... it
could be busted in some way. But at least my test passes.
execute method invocation

Now we can do:

    > [int]::Parse('7')
    7

Limitations:
- static only
- parameter types must mach exactly, no conversions
REFACTOR: Rename many "Unnamed" parse tree nodes.

In Irony, if you write:

     A.Rule = B + (C | D)

it will automatically generate a term with a name like `Unnamed9` for
the `C | D` part. These are opaque when analyzing the grammar in
Irony.GrammarExplorer. To make that task easier, I am introducing some
named terms to replace them. There are now only 3 unnamed terms.
Pass multiple parameters to a method invocation.

I modified the parser to remove support for chained range operators
(`1..2..3`), to allow this to parse correctly. I don't think that's
important, and I don't know how to fix the parser correctly.
Update CONTRIBUTING.md

Where to begin.
Method calls with 0 parameters.
TEST: Call method on variable.

Now multi-line tests can be passed as a series of statements, instead of
one long string.
typo in comment
Builtin/non-builtin types on method invocation and `New-Object`

Before, type literals only worked w/ builtins. Now you can do:

    > [System.String]::Concat( 'ab', '12' )

Before, `New-Object` didn't recognize builtin types. Now you can do:

    > New-Object bool
Update .travis.yml

Send more email.