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.
Merge pull request #198 from sburnicki/exit_management

Introduced Exit and Return Management