A nice protocol fake can be told to reject an optional protocol method
Simplify logic in -respondsToSelector:
Fakes raise exception when told to reject a method they don't claim to implement.

Protocol class name emitter now includes all faked protocols.
Other cleanup.
Merge pull request #167 from pivotal/reject_optional_protocol_methods

Protocol fakes can be told to reject optional protocol methods.

rejected methods will return NO for -[respondsToSelector:]
Merged with master. Fixed crashes in iOS (needs backfilling in suite to exhibit errors)