A failing spec for more specific handling of optional protocol methods
Implements more specific handling of optional protocol methods.

- nice fakes respond to optional protocol method selectors
- strict fakes require optional methods to be stubbed or they don't
  respond to their selector
Add syntax highlighting to code block