Add 'explain why' comments.
Add mock class attributes @signatures and @state to instances lazily.

Was being done in the constructor but now being done by the various
mock methods.  This allows Mock to be more easily used as a mixin
when we want to mock an existing class (we don't have to worry
about monkeying with the existing class' constructor to add
@signatures and @state).