[analyzer] Represent `Null` as `NullTypeImpl`.

This change introduces the class `NullTypeImpl` to represent the
special type `Null`, which was previously represented as an ordinary
`InterfaceType`.

This class mirrors the CFE's `NullType` class. Adding it will
facilitate further code sharing between the analyzer and the CFE,
because it will allow code that's shared between the analyzer and CFE
to use `is` tests to recognize the type `Null`.

The new `NullTypeImpl` class always has a nullability suffix of
`NullabilitySuffix.none`, so it is impossible for the type `Null?` to
occur. This is a benign behavioral change; previously there were some
circumstances in which the type `Null?` might occur in the analyzer,
but the type `Null?` behaved the same as `Null` so there was no
user-visible effect. This behavioral change brings the analyzer's
treatment of `Null` into alignment with that of the CFE.

This is the first step in a planned patch series. In follow-up CLs, I
intend to:

- Introduce a public-facing `NullType` for use by clients.

- Change `NullTypeImpl` so that it no longer extends `InterfaceTypeImpl`.

- Add a base class that is common to the analyzer and CFE `NullType`
  representations.

Change-Id: I9cea84d8149347bffdee006d544af28c66eba429
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/396320
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>

https://dart.googlesource.com/sdk/+/ac6d86c7378cbc708f785bd83932053b81749bfa
diff --git a/DEPS b/DEPS
index ff8cb73..3e60737 100644
--- a/DEPS
+++ b/DEPS
@@ -260,7 +260,7 @@
 
   'engine/src/flutter': Var('flutter_git') + '/mirrors/engine' + '@' + '3e96cebf0d1d7c18c97fd8729fb88296aac85f30',
 
-  'engine/src/flutter/third_party/dart': Var('dart_git') + '/sdk' + '@' + 'd79fcdf4cd08a699d9ac4426962b19b4b5aef25a',
+  'engine/src/flutter/third_party/dart': Var('dart_git') + '/sdk' + '@' + 'ac6d86c7378cbc708f785bd83932053b81749bfa',
 
   'flutter': Var('flutter_git') + '/mirrors/flutter' + '@' + '8536b96ebb3eaaebdc34a56b862b33bbc2d79a75',
 
diff --git a/commits.json b/commits.json
index 94e74cf..a2305f8 100644
--- a/commits.json
+++ b/commits.json
@@ -1,5 +1,5 @@
 {
   "engine/src/flutter":"3e96cebf0d1d7c18c97fd8729fb88296aac85f30",
-  "engine/src/flutter/third_party/dart":"d79fcdf4cd08a699d9ac4426962b19b4b5aef25a",
+  "engine/src/flutter/third_party/dart":"ac6d86c7378cbc708f785bd83932053b81749bfa",
   "flutter":"8536b96ebb3eaaebdc34a56b862b33bbc2d79a75"
 }
\ No newline at end of file