fix(matchers): using haveBeenCalled.with was leaking in following tests

The fact that the haveBeenCalled matcher is an object and that with was
setting the arguments property of this was resulting in leaks between tests.
Now a new matcher is generated by the with method, preventing any leaks.
fix(environment): named subject is now cached and shared

Using the subject helper was producing a subject that wasn't cached.
Now it creates a wrapper that take care of caching the subject.
test(mixins): add tests for EventDispatcher mixin
fix(environment): prevent itsInstance and itsReturn calls without subject

If the context in which itsInstance and itsReturn is called doesn't have
a previous subject these methods will throw an error.
chore($tests): change message for environment method tests
chore(environment): remove dead code
test(reporters): add tests that covers the uncovered cases in reporters

Includes:
  - the runningSpecs helper now offer to set custom options for the
    virtual environment
  - a test that reactivates some options that was deactivated in the
    virtual environment
  - prevent the reporter from failing when the colors are activated in
    virtual environment inside a browser
test(environment): add tests for createInnerExampleAlias method
test($core): add test for dependencies of exclusive tests

In the case an exclusive examples have dependencies, the dependencies
are executed as well.
feat(environment): itsInstance now accept an options object
feat(environment): should will now fail without a matcher

It didn't make sense to return silently when should is called without
a matcher.
chore(environment): notInsideIt and notOutsideIt are no longer bound

These methods are called from instance methods that are bound by the
Globalizable mixin, they don't need to be bound themselves.
feat(environment): add expect(...).to and expect(...).not.to syntax

The expect method accept either a value or a description and a value and
returns an object with a to method and a not sub object that also contains
a to method.
It creates an expectations for the passed-in value with either the
value or the description in the expectation message.
The Expectation class now accept a description that will be prepended
to the matcher description.
chore($tests): fix typo in test description