Fix #154, fix #148, implement new patching method which replaces classes in the classloader, avoiding signature invalidations and reducing the number of files which need modified.

Signed-off-by: Ross Allan <rallanpcl@gmail.com>