Enable Netty debug log
Add Class.forName("") plugin class reflection remapping. Closes #902.

Enables plugins which lookup classes using Class.forName with a string
constant literal to locate the expected remapped classes. New bukkit.yml
configuration option to control this setting, remap-reflect-class, defaults
to true.

(Note that only string constant literals are remapped, similar to the existing
remap-reflect-field feature. Also note, some plugins may use reflection to
check several package versions to attempt to identify the version; if
multiple remap-nms-* settings are enabled those versions may be detected.
To accurately get the real package version (v1_5_R3, v1_5_R2, etc.) plugins
can use getServer().getClass().getPackage().getName(), as in VanishNoPacket,
but nonetheless in any case cross-version remappings are included for each
enabled NMS remapping option.)

This change fixes errors on load in plugins such as MagicSpells and ShopKeepers.

Requires updated SpecialSource: md-5/SpecialSource@428c83287f72eb029525a77c4837e9df9ecdf914
Test case: agaricusb/IncompatiblePlugin@bde71427d2e20d6a204a1fd88f8a488688cb541c
Add configuration option to control remapping to future versions. Fixes #913.

This option is most useful on the 151compat builds. If remap-allow-future is
disabled in bukkit.yml, then plugin remapping to 1.5.2 will not be enabled on
1.5.1 (it will be enabled on the 1.5.2-only builds, however), even if
remap-nms-v1_5_R3 and remap-obc-v1_R_3 are enabled.

Fixes plugins which auto-detect the NMS version by checking for class existence
(especially using Class.forName reflection added in previous commit). Before
this commit, they would detect 1.5.2 on 151compat -- and NMS would be remapped
properly, but not OBC since remap-obc-v1_R_3 is not enabled by default. Now,
these plugins (tested with MagicSpells) will detect 1.5.1 on 151compat, just as
other plugins (such as VanishNoPacket) detect 1.5.1 using CB getPackage().getName().
Dynamically lookup shaded OBC version for remapping 1.5.2/1.5.1

Adds getNativeVersion() in PluginClassLoader, replacing the hardcoded
'current' field. This method is used to lookup the obfuscation version
(v1_R_3 on 1.5.2, v1_R_2 on 151compat, etc.), and now gets it from the
actual version package in the server jar, rather than hardcoding. This
means it is correct on both 1.5.2 and 151compat builds, where previously
the version was v1_5_R2 in both cases.
Update to Forge 7.8.0.694
Merge pull request #2 from MinecraftPortCentral/master

Source update