Fix bug in MemoryFileSystemEntity.resolveSymbolicLinks() (#57)

It was resolving absolute paths correctly, but then
returning the resolved path relative to the current
directory.
diff --git a/lib/src/backends/memory/memory_file_system_entity.dart b/lib/src/backends/memory/memory_file_system_entity.dart
index 0ca0c6d..b43a6dd 100644
--- a/lib/src/backends/memory/memory_file_system_entity.dart
+++ b/lib/src/backends/memory/memory_file_system_entity.dart
@@ -81,6 +81,9 @@
   @override
   String resolveSymbolicLinksSync() {
     List<String> ledger = <String>[];
+    if (isAbsolute) {
+      ledger.add('');
+    }
     _Node node = fileSystem._findNode(path,
         pathWithSymlinks: ledger, followTailLink: true);
     _checkExists(node, () => path);
diff --git a/test/common_tests.dart b/test/common_tests.dart
index 99ed345..2e9648e 100644
--- a/test/common_tests.dart
+++ b/test/common_tests.dart
@@ -172,6 +172,15 @@
           expect(fs.currentDirectory.path, ns('/foo/bar'));
         });
 
+        test('succeedsIfSetToAbsolutePathWhenCwdIsNotRoot', () {
+          fs.directory(ns('/foo/bar')).createSync(recursive: true);
+          fs.directory(ns('/baz/qux')).createSync(recursive: true);
+          fs.currentDirectory = ns('/foo/bar');
+          expect(fs.currentDirectory.path, ns('/foo/bar'));
+          fs.currentDirectory = fs.directory(ns('/baz/qux'));
+          expect(fs.currentDirectory.path, ns('/baz/qux'));
+        });
+
         test('succeedsIfSetToParentDirectory', () {
           fs.directory(ns('/foo')).createSync();
           fs.currentDirectory = 'foo';
@@ -749,6 +758,13 @@
               fs.directory('baz').resolveSymbolicLinksSync(), ns('/foo/bar'));
         });
 
+        test('resolvesAbsolutePathsAbsolutely', () {
+          fs.directory(ns('/foo/bar')).createSync(recursive: true);
+          fs.currentDirectory = ns('/foo');
+          expect(fs.directory(ns('/foo/bar')).resolveSymbolicLinksSync(),
+              ns('/foo/bar'));
+        });
+
         test('handlesRelativeLinks', () {
           fs.directory(ns('/foo/bar/baz')).createSync(recursive: true);
           fs.link(ns('/foo/qux')).createSync('bar/baz');