Allow multiple `registerMatchers` in one context.

The old implementation appeared to mimic that of `beforeEach` and
`afterEach`--it only allowed one per context. However, there is no need
for such a restriction when registering custom matchers. This commit
allows any number of matchers to be registered in a single context.

Other changes:

- Remove obsolete forward class declarations from KWExample header.
- Delete commented out code from KWMatcherFactory.
- Consolidate duplicated code in KWExample, KWContext in internal methods.
- Add missing variable name from block typedef (only used in
  `defineMatcher` macro).

---

For additional details on the problem, see issue #423 and [the Kiwi BDD Google Group discussion](https://groups.google.com/forum/#!topic/kiwi-bdd/_Cr5vX-Cupo).