Adopt Cedar's SPEC_BEGIN/SPEC_END construct

Allow SPEC_BEGIN and SPEC_END to be used instead of the go_bandit() construct. This helps avoid the need to use the name of the test framework inside the tests.
Added matcher syntax

Assertions can now be written more like RSpec. For example...

5 must equal(5);
4 must_not equal(5);
5 must be_greater_than(4);
Don’t use std::pointer_traits

Apparently the C++ library used by TravisCI doesn’t have std::pointer_traits
Added an explicit destructor for MatcherException

Some compilers just can’t live without it
Added missing header

I’m not sure how this compiled on my machine. Fortunately, TravisCI caught it.
fix: cross_compile script reports errors correctly
fix: changed from #import -> #include
Merge branch 'bfoz-matchers'