Fixed a couple of issues with they way matchers affect context.

* Arguments to matchers were evaluated in the matcher's context
rather than the caller's, which broke arguments that weren't
literals.

* Matchers could change their caller's locals context if the
return value wasn't captured.
Merge pull request #9 from sgravrock/matcher-scope-fixes

Fixed a couple of issues with they way matchers affect context.