feature: Upgrade TypeMatcher, deprecate isInstanceOf (#88)

`TypeMatcher`
- No longer abstract
- Added type parameter
- Deprecate the existing `name` parameter, tell folks to the type param
- Added `having` method which allows chained validation of features
- Eliminated 13 private implementations from the package
  - Just use it directly.
- Moved to its own file

Deprecate `isInstanceOf` class.
- Tell folks to use `TypeMatcher<T>` instead
- Run away from weirdly named classes

Tests
- centralizing tests in type_matcher_test
- Removed isInstanceOf tests from core_matchers_test
9 files changed
tree: 2e63da2a248e762f21a77948e6c9ec8105e72fa4
  1. lib/
  2. test/
  3. .gitignore
  4. .test_config
  5. .travis.yml
  6. analysis_options.yaml
  7. CHANGELOG.md
  8. codereview.settings
  9. LICENSE
  10. pubspec.yaml
  11. README.md
README.md

Support for specifying test expectations, such as for unit tests.

The matcher library provides a third-generation assertion mechanism, drawing inspiration from Hamcrest.

For more information, see Unit Testing with Dart.