Stripped underscores and made functions and methods explicitly internal
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.)
Fixed failing tests
Added tests for async and custom timers for objc
Always pass when deleting derived data
Objective-C matchers properly check for nil values.

Refactors.
Removed all prefixed underscores with explicit internal.

Leftovers from a by-gone era.
Removed extraneous import
Removed beOneOf matcher.
Backfilled tests for objective-c compatibility.
Updated the README to mention nil-checking methods.

by using NonNilMatcherFunc and canMatchNil.
Added more documentation. Small refactors.

Thanks @modocache.
Made objc matchers with no args define as a void instead of variadic c function
Document most of the things.
Merge pull request #59 from jeffh/internal-refactor

More consistent nil-checking + internal refactors