Finished most of the framework for keywords.

Several of the keywords work now as well, however, of the ones that have been
started, closure and foreach do not work yet.
Fixed doubles in entity_damage event.
Fixed a bug where returns from a closure in a queue caused an exception.
Possible bug fix for 1.7.5 bukkit
Set all methods to accessible in reflection utils.
Need to get offline player
Also fix scoreboard class
One more offline player fix
Finished existing keywords.

A few keywords still need a bit of modification, but at this stage, keywords should be feature complete with the existing compiler features.
Added missing balancer
Fixed failing unit tests (or removed/fixed invalid ones)
Added proc _a(){ } definition syntax
Merge remote-tracking branch 'origin' into keywords
Merged in keywords branch.

This feature reworks several existing features, and adds a few more. All functions that use brace syntax are now considered "keywords" and are handled via the new keyword mechanism. There are two notable additions. dowhile() now supports do { } while(...); syntax, and procedures may be defined as such: proc _myProc(@a, @b){ }. Many error messages regarding erroneously used braces should be improved as well, including when using braces with an unsupported keyword. In the future, it should be easy to add braces as a shorthand associative array creation mechanism too. This feature greatly simplifies the compiler, as it no longer has special cases for things like if/else statements. Extensions may also add new keywords, as the compiler discovers keywords via an annotation mechanism. Keywords will eventually be a new category in the syntax highlighter, and will highlight the keywords different than functions, even if the keyword itself is also a function. Documentation on how to use these new features has not yet been added, but will be.

There is one intentional breakage. Switch statements that use braces AND do NOT use case statements will no longer work. Switch statements using the pure functional notation will continue to work, as will switch statements that use case statements with braces.
Change private method to protected, so the compiler doesn't optimize it

It was exhibiting odd behavior, and this change fixes that.
Updated docs for braces
Updated switch examples
Updated syntax highlighters to work properly with keywords.

Additionally, "LiteralKeywords" have been added, which correspond to datatypes. In this case, 'true', 'false', and 'null' are the only literal values that are also keywords, though more can now be easily added in the future, with no compiler changes. Keyword highlighting has been added to the geshi template. A bug has been fixed in ClassDiscovery, which prevented non-immediate superclass definitions from being compared against the test class. Several documentation pages have been updated.
Updated closure docs
Added instanceof() and instanceof keyword.