Make the patcher a bit more modular - public instead of package-local, allow changing the directories used by ClassRegistry, move shouldPatch() to PatchUtil instead of the patcher.

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