Refactor pkg/path.

This CL does several things:

* Splits lib/path.dart into multiple libraries.

* Renames "Builder" to "Context".

* Makes the Context API match the top-level functions ("root" was
  renamed to "current" and "resolve" was renamed to "absolute").

* The top-level "absolute" function now takes multiple parts, to match
  [Context.absolute].

R=rnystrom@google.com
BUG=14981

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart/pkg/stack_trace@30423 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/pkgs/stack_trace/test/vm_test.dart b/pkgs/stack_trace/test/vm_test.dart
index 6570c24..7e00b7a 100644
--- a/pkgs/stack_trace/test/vm_test.dart
+++ b/pkgs/stack_trace/test/vm_test.dart
@@ -43,16 +43,14 @@
     test('.parse parses a real stack trace correctly', () {
       var string = getStackTraceString();
       var trace = new Trace.parse(string);
-      var builder = new path.Builder(style: path.Style.url);
-      expect(builder.basename(trace.frames.first.uri.path),
+      expect(path.url.basename(trace.frames.first.uri.path),
           equals('vm_test.dart'));
       expect(trace.frames.first.member, equals('getStackTraceString'));
     });
 
     test('converts from a native stack trace correctly', () {
       var trace = new Trace.from(getStackTraceObject());
-      var builder = new path.Builder(style: path.Style.url);
-      expect(builder.basename(trace.frames.first.uri.path),
+      expect(path.url.basename(trace.frames.first.uri.path),
           equals('vm_test.dart'));
       expect(trace.frames.first.member, equals('getStackTraceObject'));
     });