Change dart:io to use Future for one-shot operations.

This appears to be what a lot of our users are doing and it is the
style used in our other libraries.

Noteworthy changes:

- File and Directory objects are now immutable.

- Directory.list returns an active lister object.

- Write operations on files return futures and the
  onNoPendingWrites handler is gone. The same
  functionality is there by using 'then' on the
  future returned from the last write operation.

- Process starting is now done with static methods:
  -- Process.start yields an InteractiveProcess.
  -- Process.run yields a Future<ProcessResult>

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10392023

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7529 260f80e4-7a28-3924-810f-c04153c831b5
Fix dartc part of test scripts.

R=sgjesse@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10356125

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7531 260f80e4-7a28-3924-810f-c04153c831b5
Increase thread stack size on Mac in debug mode.

After changing dart:io to use Futures the debug Mac build hit the stack
limit during snapshot reading. Landing this to unbreak the build.

R=sgjesse@google.com,asiva@google.com,iposva@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10389090

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7532 260f80e4-7a28-3924-810f-c04153c831b5
After bit-operation fixes the crypto library works with dart2js.

Only change is to avoid remaining issue that (8 >> 32) is 8 with
dart2js at this point. We restrict the length of the message to
"2^32 - 1" bits which.

R=sgjesse@google.com,floitsch@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10388068

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7533 260f80e4-7a28-3924-810f-c04153c831b5
Fix union and intersection for potential Array and String. Also change moving away a type guard from checking the union to checking the intersection.
Review URL: https://chromiumcodereview.appspot.com//10377061

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7534 260f80e4-7a28-3924-810f-c04153c831b5
Remove wrong assert: the guarded instruction could be generate at use site if it is a HCheck instruction.
Review URL: https://chromiumcodereview.appspot.com//10391067

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7535 260f80e4-7a28-3924-810f-c04153c831b5
Split the sample extension into a synchronous extension and an asynchronous extension, and add test files.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10310093

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7536 260f80e4-7a28-3924-810f-c04153c831b5
Implement PrimitiveOrNull types.
Review URL: https://chromiumcodereview.appspot.com//10389063

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7537 260f80e4-7a28-3924-810f-c04153c831b5
Remove remnant if (false).

TBR=podivilov@chromium.org

Review URL: https://chromiumcodereview.appspot.com//10356126

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7538 260f80e4-7a28-3924-810f-c04153c831b5
Add a Null type to avoid treating it as unknown and therefore optimizable.
Review URL: https://chromiumcodereview.appspot.com//10391068

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7540 260f80e4-7a28-3924-810f-c04153c831b5
Get rid of an unneeded interface.

Review URL: https://chromiumcodereview.appspot.com//10384120

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7541 260f80e4-7a28-3924-810f-c04153c831b5
Copy URI top-level helpers to separate file.
Review URL: https://chromiumcodereview.appspot.com//10392043

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7542 260f80e4-7a28-3924-810f-c04153c831b5
Split the URI library across multiple files.

Review URL: https://chromiumcodereview.appspot.com//10383103

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7543 260f80e4-7a28-3924-810f-c04153c831b5
Simplify WorkItem API.

Review URL: https://chromiumcodereview.appspot.com//10310120

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7544 260f80e4-7a28-3924-810f-c04153c831b5
Shorten help; Tell what happened if there is no explicit --out.

Review URL: https://chromiumcodereview.appspot.com//10332110

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7545 260f80e4-7a28-3924-810f-c04153c831b5
Merge wrapping system into native system.

R=antonm@chromium.org

Review URL: https://chromiumcodereview.appspot.com//10388085

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7546 260f80e4-7a28-3924-810f-c04153c831b5
Some more __repr__s.

R=podivilov@chromium.org

Review URL: https://chromiumcodereview.appspot.com//10310119

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7547 260f80e4-7a28-3924-810f-c04153c831b5
Fix a build.

TBR=podivilov@chromium.org

Review URL: https://chromiumcodereview.appspot.com//10384122

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7548 260f80e4-7a28-3924-810f-c04153c831b5
Now mode argument is correctly marked as optional in IDL itself.

R=podivilov@chromium.org

Review URL: https://chromiumcodereview.appspot.com//10310118

git-svn-id: http://dart.googlecode.com/svn/branches/bleeding_edge/dart@7549 260f80e4-7a28-3924-810f-c04153c831b5
remove dart dom from docs

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10383129

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