Advices on dynamic object method definition

Closes #39
Bound check

Certain variable arguments configurations invalidate this check,
resulting in ArrayOutOfBoundException.
Augment strings with format

This delegates to the corresponding static method in java.lang.String.

Closes #40
Return self(this) with each : ability to chain methods
Merge pull request #41 from k33g/pimpthemall

Return this with each to chain methods
Branching fix
Turn into local references, distinguish locally accessed and locally declared
Mark parameters as assigned
'constant reference' is better than just 'constant'
Improved error reporting messages
Clarifications on function / closure arguments
Merge pull request #48 from jponge/wip/fix-43

Closures and function parameters fixes
Partial evaluation of boolean expressions

The previous implementation evaluated both sides of a boolean expression, meaning that:

    (foo isnt null) and (foo: bar())

would raise a NPE when `foo` is null, as `foo: bar()` would be evaluated, too. This commit shortcuts
evaluation of `and` and `or`.

Fixes #36
Merge pull request #49 from jponge/wip/partial-boolean-evaluation

Partial evaluation of boolean expressions
Merge branch 'master' into wip/dynamic-evaluation