Merge pull request #221 from ACzChef/master

Added get_loaded_chunks.
Fixed a bug in the argument parser class.
Fixed failing unit tests.
Merge origin/master
Improper use of break is now a compile error.

Formerly, improper use would have been caught at runtime. Now
the rules are well defined, and cause a compile error. This requires
the break count to be hard coded, so break(@a) is not acceptable,
and causes a compile error. Breaks may not bubble up past
closures or procedures or the root of the code.
Use annotations instead of hardcoding the function names in the compiler.

This allows easier modification later, as well as allowing extensions to expand
the feature set without requiring compiler changes.
Added highly experimental external API for [un]registering extensions. I hold no responsibility for the effects of this!
Added highly experimental external API for [un]registering extensions. I hold no responsibility for the effects of this!
Removed unneeded file. Derp.
Fix error with procs caused by break checks.
Merge origin/master
Add global overwriting option for extensions.

This allows extensions to overwrite functions and events in a clearly defined manner. Defaults to false to avoid awkward behavior changes, but can be configured in preferences.ini. This change is primarily a global killswitch, but is also in lieu of a more finely grained whitelist system, which will allow overwriting of specific functions and events, which will be introduced in the future.
Fixed boilerplate-test failure.
Actually tell extensions to start up when in standalone mode!
Revert "Add global overwriting option for extensions."

This reverts commit e6fe6de3fc0c2d03e2ed6945289d91ddcc9eac0b.
Finished capture_runas in ideal cases.

Plugins must use the provided CommandSender object in order for this to work, however. If they look up the player from the server via name, the proxied object will no longer be returned. This may be able to be fixed if play-dirty mode is active; the proxied CommandSender could be injected into the server's user table. Running as op currently doesn't work either, but that will be fixed in the future as well.
Don't naturally let extensions overwrite core functions and events.
Fix boilerplate test failure.
Fixed get_chunk_loc returning an invliad location (Whoops)