Fix issue with async callbacks that get called synchronously while running test case function causing the test to be marked as complete prematurely.
Fix issue with async callbacks that get called synchronously while running test case function causing the test to be marked as complete prematurely.

Added an optional id to completion matchers that can be used in error messages (this was invaluable in tracking down the above problem).

Re-enable pub tests. https://code.google.com/p/dart/issues/detail?id=8862
Review URL: https://codereview.chromium.org//12393017

git-svn-id: b90127a0f73590c96be848d3e4cb640efa9a7657@19339 260f80e4-7a28-3924-810f-c04153c831b5

dart-archive/scheduled_test,dart-lang/scheduled_test