Improve parsing logic to better align with what is supported by pub (dart-lang/pubspec_parse#9)

* Allow environment constraint values to be null
* Treat dependencies with empty map values like they are empty.

* Use an SDK constraint in tests that is compatible with the supported
  SDK

* Update tests to verify behavior of pub client
  * Failing test cases should cause pub to report a parse error
  * Successful test cases should be parsed successfully by pub,
    even if pub get ends up failing for another reason
8 files changed
tree: 81c236e3400396822643bcac118303083dffd26a
  1. pkgs/