Fixes to ext_globalMethodSignatureForSelector()

* Fixed problem with cache (#43)
* Now also searches through optional protocol methods, if needed (#42)

Added tests for both.
Changes per @jspahrsummers review

Squash before merging into master
Merge pull request #44 from claybridges/clayb-global-sig

Fixes to ext_globalMethodSignatureForSelector()