Added begin support
Fixed a bug in procedure calls

When a procedure has arguments that need to be evaluated the evaluation was not done.
Create a global environment GlobalEnv and remove special case for binary ops