Matchers more uniformily handle nil actual values.

nils fails matchers in both to() and toNot() cases to prevent
accidental nil fallthroughs in Swift + Objective-C when writing tests.

This generally reduces the amount of expectations required in tests. Use
the beNil() matcher if comparing to nils is expected.

The following matchers currently pass when matching against nil:

- beNil()
- beFalsy()
- raiseException()

equals() is the only matcher that still currently checks its expected
value to be non-nil. This may change for other matchers that accept
expected arguments (eg - beGreaterThan, beGreaterThanOrEqualTo, etc.)