Merge pull request #197 from sburnicki/parameter_processing

Enhanced cmdlet parameter processing & Powershell reference tests
Introduced Exit and Return Management

"exit" now allows to have an exit code which is properly handled.
In a script, the script simply exits and $LastExitCode will be set.
Outside a script, the complete process exits and the exit code of the process is set accordingly.

Also return statements now allow a value. However, this is nothing special
as
  return 5;
is the same as
  5;
  return;
in Powershell.
ReferenceTests have been added to make sure this behavior fits PS.
The reference testing framework was adjusted for this and is now more powerfull to test even more things
like the PS/Pash process behavior.