Refactor packages to compile client on Windows

Refactored following packages to strip out parts
making UNIX-only calls and extracted functionality to
implement Windows equivalents. Also added some build
flags to exclude UNIX-specific code not called on
client path.

- pkg/archive
- pkg/sysinfo
- api/client
- pkg/system
- utils

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
Refactor pkg/term package for Windows tty support

Signed-off-by: John Gossman <johngos@microsoft.com>
Use USERPROFILE path on Windows as home directory

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
Add windows/(386,amd64) to cross platforms list

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
Remove unused sysinfo parameter to runconfig.Parse as part of Windows port

Signed-off-by: John Gossman <johngos@microsoft.com>
Fix volume path input checks on Windows

used path package instead of path/filepath so that --volumes and
--device parameters to always validate paths as unix paths instead of
OS-dependent path convention

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
Fix gofmt

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
Consolidate tmpdir implementations

Apparently tmpdir.go is not built on any arch
and tmpdir_unix.go is the implementation actually
used. It also satisfies _windows.go.

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>