Framework is compiling now, one test isn't yet.

Some notes about the changes here:

* made Matcher inherit from BasicMatcher - this way methods that take a Matcher instance can also take a BasicMatcher
* failsWithErrorMessage is crashing the running of the tests right  now... not sure why yet
* Expectation methods that do the actual matching are internal and named toImpl and toNotImpl respectively. I was getting "invalid redeclaration" errors between these methods and the extension methods.
* They're internal so that all public access can go through the extension methods.
* testArrayEquality is failing to compile right now, specifically calls that take an Array<Int> in as opposed to an array literal (like [1,2,3]). Not sure about that yet.