Revamp patching functionality and add clang patches

This commit fixes #94 and closes #105
Stop using RUBY_PLATFORM