port over touch app
WIP on trying to figure out how to properly get the owning type for  amethod for resolving id to the class
Merge branch 'touch' into owning_class
clone our method object before we alter it's return type so we don't alter metabase globally. This would result in alloc getting assigned the type of the last class to invoke it, causing lots of issues with the generated code for alloc functions.
Merge branch 'owning_class' into clone_methods_before_find

Conflicts:
	lib/compiler.js