Merge remote-tracking branch 'origin/corelib_2_2_1_branch'

This doesn't change the state of master. An old version of the Dart
SDK depended on a commit from the branch that's being merged in, and
this ensures that that commit remains reachable so that version can
still be built.