Merge null_safety branch into master (#125)

Migrates this package to null safety and prepares for a null safety pre-release, once we have landed the package internally and in the SDK to verify its accuracy. 
53 files changed
tree: 8fd71e25b3f85ae053f05f6943fbf0f71e8c4ac4
  1. lib/
  2. test/
  3. .gitignore
  4. .test_config
  5. .travis.yml
  6. analysis_options.yaml
  7. AUTHORS
  8. CHANGELOG.md
  9. CONTRIBUTING.md
  10. LICENSE
  11. pubspec.yaml
  12. README.md
README.md

Contains utility classes in the style of dart:async to work with asynchronous computations.