Added a Bukkit metadata API
Added arrows and wither skulls support to get/set_entity_spec
Added extension_exists
Fixed IndexOutOfBoundsException in function_exists and event_exists that was thrown when no argument was given
Fixed typo
Fixed infinite loops due to recursion and fixed typo
Better way to find the most specific class.
Add hmac_md5 and hmac_sha1 functions to the Crypto library
Create a hmac_sha256 method.
This is so that there is an HMAC method for each of the provided hash functions.
Also reduced redundant code by creating a method that accepts the hmac algorithm and returns the generated CString.
Use the passed in algorithm when creating the signing key.
Change to using a multicatch for getHMAC exception handling.
Add optimization flags to the hmac methods.
Since an hmac with the same value and key will return the same hash, constant_offline and cache_return can be used.
Add 1.7.8 sudo compatibility logic.

Also updated to use 1.7.8.
Added file_resolve
Added print_out/print_err.

This wraps System.out/err.print(), essentially.
Refactoring, organization, and code cleanup
Check for NPE if the result set is null
Add latest spawn reasons. Closes #2941.
Revert "Don't naturally let extensions overwrite core functions and events."

This reverts commit 01d47750ff7dc6866d9f2cd12210c99f15639b33.
Revert most of 94489525e2680f471d14adc9cd7d5462aaea661b
"Experimentation with capture_runas to make it more resilient."
Merge conflict exception:  src/main/java/com/laytonsmith/tools/docgen/DocGenUI.java

This fixes 2938 until it can be properly resolved.
Merge pull request #227 from PseudoKnight/master

Revert two commits causing performance issues
Added optional damage source entity parameter to entity_damage()
Support die() in x_new_thread()