Fix b/16286865: NPE when configured against DFS namespace.

The adaptor made the assumption that if the path returned by
getDfsUncActiveStorageUnc() was different from the path supplied
to that method, then a DFS link had been resolved; otherwise it
assumed that the supplied path did not represent a DFS link.

However this assumption was flawed. In most cases, passing in
just the namespace (\\server\namespace) would indeed return
that same path.  But in other cases, hostname normalization
would occur, returning something like \\SERVER\namespace or
\\server.mydomain.com\namespace.  The returned strings were
different, even though no link had been traversed.

The DFS_INFO_3 structure returned from GetDfsInfo() does
contain flags indicating whether the path is a DFS root or
a DFS link.  I added 2 methods to the FileDelegate interface,
isDfsRoot() and isDfsLink(), and renamed getDfsUncActiveStorageUnc()
to the less awkward resolveDfsLink().  I then modifed FsAdaptor
make no assumptions about whether a link had been resolved.

Finally, I added unit tests for the new methods, and updated
the test infrastructure to accomodate the underlying DFS root flags.

Code Review: http://codereview.appspot.com/156080043