Change static library's Hamcrest dependency from its framework to the static library target.

Not sure if this makes much difference, but we're only building the Hamcrest static library target, and it seems like it makes sense to link the same target types together.
Allow the use of the name or the class or protocol directly in mock definition macros.

I can't think of a situation where I've wanted to specify the class or protocol to mock as a variable, which is the only reason I can see for having the mock-creation macros take a Class or Protocol object instead of just a name. They are *macros*, after all, so they can perform text rewriting in C, so we might as well take advantage of that to save us some typing and reduce the noise in test code.

I'll use this as a trial for the syntax and if I never encounter a counter case, perhaps it can be proposed back to the project (although it might be hard to do so in a backwards-compatible way; I am just starting to use this in a project, so I don't care that it is a breaking syntax change).