Added the '->(a,b){...}' anonymouse-function declaration syntax; (same
as
func(a,b){...}) (inspired from Ruby)
Added the loop keyword (also available as Block.loop{...})
Improved the Block.repeat() method; now it supports arbitrary large
integers for repetition. ({say "Sidef Rocks!"} * Math.inf; # now works)
Added type-check for compile-time assigned variables in function
arguments:

Example:
	func div(a=Number, b=Number) {
	   a / b;
	}

	say div(10, 2);       # 5;
	say div("x", "y");    # run-time error

Improved the try/catch block: now catch is called with the error
argument when a fatal-error occurs.
Bug-fixes: removed some of 'while(... each @array)' loops because it
caused errors when the execution stoped unexpectedly, but got catched by
the try/catch block.