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