Fix FileSpec to be able to understand Windows paths.

This patch adds the notion of a "path syntax" to FileSpec.  There
are two syntaxes (Posix and Windows) and one "meta syntax",
Host Native, which uses the current platform to figure out the
appropriate syntax for host paths.

This allows paths from one platform to be represented and
manipulated on another platform even if they have different path
syntaxes.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@215123 91177308-0d34-0410-b5e6-96231b3b80d8
Optimizations for FileSpec.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@215124 91177308-0d34-0410-b5e6-96231b3b80d8