Make the unittest's breath test a bit more resilient against timing issue.

BUG=
R=kustermann@google.com, sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41774 260f80e4-7a28-3924-810f-c04153c831b5
Fix a number of issues with the Range header handling for serving files

* Handling end position after file length
* Handling suffix range longer than file length
* Ignore syntactically invalid Range headers
* Return 416 (Requested range not satisfiable) if start < end

Added tests for these cases.

BUG=http://dartbug.com/21587
R=ajohnsen@google.com, kustermann@google.com

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

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