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
clone the methods object before we search it, because the methods alter the structure by adding super class's methods to it. This ends up corrupting our in-memory copy of the metabase, so that a class like UIPanGestureRecognizer gets the super interface (UIGestureRecognizer)'s methods added to it's entry, and we end up thinking a method like initWithTarget lives on the subclass and not the parent.
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
Merge branch 'clone_methods_before_find' of https://github.com/sgtcoolguy/hyperloop-ios into sgtcoolguy-clone_methods_before_find
Merge remote-tracking branch 'upstream/master' into sgtcoolguy-clone_methods_before_find
Fix: findMethod should search for protocols too
Fix: lack of EXPORTAPI for externs
Fix: touches app
Fix: should have checked undefined method
fix typo
Update touches app
Fix: defineClass method returnType
Add cheat to resolve constant and functions
typo
Fix: defineClass method returnType
Update test case to deal with hyperloop-common/pull/46
Merge pull request #25 from infosia/sgtcoolguy-clone_methods_before_find

Touches app