Jasmine 2 support

* Add support for newer sinonjs spy matcher methods
* Refactor to support Jasmine 2.0 API modifications
* Declarative matcher generation with shared message utilities