Make deserialization more regular as prep for deferring canonicalization for types/instances.

BUG=http://dartbug.com/21079
R=asiva@google.com

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

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