Added shutdown event. This fires on process shutdown, as well as a recompile.
Fixed timeouts/intervals/queues.
Null check on DaemonManager
Added a new .msa only compiler.

This will eventually replace the non-pure mscript portions of the existing main compiler. This new lexer contains a simpler token list, as well as the ability to fully skip the pure mscript portions, which grants the advantage that the main compiler can completely ignore the msa portions, and can be fully decoupled from that syntax. The lexer is all that is complete now, however, a parser doesn't strictly need to be written. Remaining validation work may need to be done for edge cases, but the compiler appears to fully work in ideal cases.

New syntax is being supported for multiline start and end: <?ms and ?>, as well as lexer support for /** */ docblocks, which remain past compilation. This can be used in future expansions to provide description and other information for the command.
Fixed optimization issues in switch.

This commit adds a new optimization option, PRIORITY_OPTIMIZE, which causes the function to be optimized before its children. This is advantageous for functions whose children being removed via optimization out would cause issues with the compilation process. This causes optimizeDynamic to be called before the children are processed. Additionally, a change has been made to move __autoconcat__ optimization out of the main optimization loop. This makes __autoconcat__ optimization happen independently of the main optimization, which is fairly complex. This means that in the future, optimizations can be turned off, but __autoconcat__ will still be "optimized".

This fixes bug 2985.
Implemented action prefilter for inventory_click.
Fixed NPE when include()ing an empty file
Use connection pooling for query().

This should speed up repeat queries by a factor of about 4, as well as prevent "Too many connections" errors that a database may respond with. Connections are tested for validity before being used, and if not valid, are refreshed. They are closed upon server shutdown/restart.
Fixed is_block_powered
Added unsafe_query()
Moved bukkit specific references out of the core
Prevent non strings from being passed to smart_string()