Clean up dart2js DateTime class for better codegen
Clean up dart2js DateTime class for better codegen

Two changes lead to better date code:
- Ensure that the fields of DataTime are inferred as non-null.
- Defer lazyAsJsDate.

Example generated code:
before:

      t1 = Date.now();
      new P.DateTime(t1, false).DateTime$_now$0();
      if (typeof t1 !== "number")
        return t1.$add();
      minTime = t1 + 16;

after:
      minTime = Date.now() + 16;

BUG=
R=lrn@google.com

Review URL: https://codereview.chromium.org//667333002

git-svn-id: c93d8a2297af3b929165606efe145742a534bc71@41249 260f80e4-7a28-3924-810f-c04153c831b5

dartino/dart-sdk,dart-lang/sdk,dart-lang/sdk,dart-archive/dart-sdk,dart-lang/sdk,dart-lang/sdk,dartino/dart-sdk,dartino/dart-sdk,dart-archive/dart-sdk,dart-archive/dart-sdk,dart-lang/sdk,dartino/dart-sdk,dart-archive/dart-sdk,dart-archive/dart-sdk,dart-archive/dart-sdk,dart-lang/sdk,dart-archive/dart-sdk,dartino/dart-sdk,dartino/dart-sdk,dartino/dart-sdk,dartino/dart-sdk,dartino/dart-sdk,dart-lang/sdk,dart-lang/sdk,dart-archive/dart-sdk,dart-archive/dart-sdk