Substitute type parameters when evaluating const literal maps/lists.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41046 260f80e4-7a28-3924-810f-c04153c831b5
Bump multivm DEPS

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41047 260f80e4-7a28-3924-810f-c04153c831b5
Check field type when evaluating initializing formals.

This performs proper type checking when the type of a field differs
from the type of a field formal parameter, e.g.:

  class A {
    final T1 x;
    const A(T2 this.x);
  }

  // only works if <expr> is a subtype of both T1 and T2.
  var a = const A(<expr>);

Previously we only checked the parameter type (T2 in the above example).

BUG=dartbug.com/16391
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41048 260f80e4-7a28-3924-810f-c04153c831b5