Fixed a typo in a method name.
Implemented integer literal type promotion.

Integer literals now automatically get widened to a larger type
if necessary, going from int, over long and decimal to double if
necessary. Previously integer literals were only int.

Also implemented the long type suffix which forces the literal to
be of type long.

This follows the wording of the spec very closely (also visible in
the comments in the source code). Where the specification did not
specify exact behavior (such as when an un-suffixed literal
overflows double), PowerShell v4's behavior was adopted.
Merge pull request #179 from ygra/typo

Fixed a typo in a method name.
Merge pull request #180 from ygra/integer-literals

Implemented integer literal type promotion.
Implemented unary minus for numbers.

This is a little tricky when the respective minimum values of a two's
complement integer are concerned, as the digits themselves are parsed as
the larger type (long or decimal in that case) and we have to make sure
that the final result is a literal of the smaller type.
Merge pull request #181 from ygra/negative-integers

Implemented unary minus for numbers.
Use of new scopes, general fixes about commands

As the last major step of the scope integration, the command invocation methods were
updated in order to use the new scope architecture. Main changes:

* Pash distinguishes correctly between scripts, functions, and script blocks.
* The ScriptProcessor is now a more general ScriptBlockProcessor that is able to
  process all script-block-like structures (functions, scripts, and script-blocks)
* Depending on invocation method and type, Pash creates new scopes if needed
  and updates the runspace's execution context if a command is (temporarily)
  executed in a new scope. Therefore the CommandManager depends on the
  Runspace, as it needs access to the currently active scope.
* The dot-sourcing implementation was fixed to work correctly. It only supported
  scripts so far. Now dot-sourcing and ampersand invocation work with scripts,
  script blocks, expression resulting in a script name and script blocks stored
  in variables.
* There are new "end-to-end" unit tests that assure scopes work as intended for
  variables and functions
* The way commands are parsed, found and executed changed in order to be easier,
  less redundant and more straight-forward to understand.
  A "command" is now a real command, i.e. one specific word. So Pash strongly
  distiguishes between input, which needs to be parsed, and commands, that
  are searched and processed. Parsable input is a Command with the IsScript flag,
  which is also the desired behavior of the specification, while real commands
  set this flag to false.
  As a result Pash doesn't just try to parse the CommandText, if it didn't find a
  command, but knows exactly when to parse input and when to search for a command.

With these changes, Pash fully supports scopes.
Undefined variables evaluate to null

Undefined variables always caused a NullReferenceException.
However, this is not the standard behavior of powershell, which can lead
to problems. Therefore, as in powershell, undefined variables will
evaluate to null if they are used in a normal expression.
Merge pull request #182 from sburnicki/scopes_step3

Third step of scope integration: Use of scopes, general fixes/cleanup about commands
Merge pull request #183 from sburnicki/undefined_vars

Undefined variables evaluate to null