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. .gitignore
  2. .test_config
  3. .travis.yml
  4. CHANGELOG.md
  5. LICENSE
  6. README.md
  7. analysis_options.yaml
  8. codereview.settings
  9. lib/
  10. pubspec.yaml
  11. test/
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.