pkg/platform: cleanup, and deprecate OSType
### pkg/platform: rename files for consistency

### pkg/platform: move package doc to platform-agnostic file

Make sure the package's documentation is available for any platform,
not just "unix".

### pkg/platform: replace use of deprecated syscall.Syscall

### pkg/platform: use const for OSType, improve GoDoc

It was not immediately clear why we were not using runtime.GOARCH for
these (with a conversion to other formats, such as x86_64). These docs
are based on comments that were posted when implementing this package;

- https://github.com/moby/moby/pull/13921#issuecomment-130106474
- https://github.com/moby/moby/pull/13921#issuecomment-140270124


### pkg/platform: un-export consts that are only for internal use

These consts are only used internally, and never returned to the user.
Un-export to make it clear these are not for external consumption.

While looking at the code, I also noticed that we may be using the wrong
Windows API to collect this information (and found an implementation elsewhere
that does use the correct API). I did not yet update the code, in cases there
are specific reasons.

### pkg/platform: deprecate OSType in favor or runtime.GOOS

This const looks to only be there for "convenience", or _possibly_ was created
with future normalization or special handling in mind.

In either case, currently it is just a direct copy (alias) for runtime.GOOS,
and defining our own type for this gives the impression that it's more than
that. It's only used in a single place, and there's no external consumers, so
let's deprecate this const, and use runtime.GOOS instead.



**- Description for the changelog**
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->


**- A picture of a cute animal (not mandatory but encouraged)**


pkg/platform/platform.go
package platform // import "github.com/docker/docker/pkg/platform"

import (
	"runtime"

	"github.com/sirupsen/logrus"
)

var (
	// Architecture holds the runtime architecture of the process.
	Architecture string
	// OSType holds the runtime operating system type (Linux, …) of the process.
	OSType string
)

func init() {
	var err error
	Architecture, err = runtimeArchitecture()
	if err != nil {
		logrus.Errorf("Could not read system architecture info: %v", err)
	}
	OSType = runtime.GOOS
}

// Package platform provides helper function to get the runtime architecture
// for different platforms.
package platform // import "github.com/docker/docker/pkg/platform"

import (
	"runtime"

	"github.com/sirupsen/logrus"
)

// Architecture holds the runtime architecture of the process.
//
// Unlike [runtime.GOARCH] (which refers to the compiler platform),
// Architecture refers to the running platform.
//
// For example, Architecture reports "x86_64" as architecture, even
// when running a "linux/386" compiled binary on "linux/amd64" hardware.
var Architecture string

// OSType holds the runtime operating system type of the process. It is
// an alias for [runtime.GOOS].
//
// Deprecated: use [runtime.GOOS] instead.
const OSType = runtime.GOOS

func init() {
	var err error
	Architecture, err = runtimeArchitecture()
	if err != nil {
		logrus.WithError(err).Error("Could not read system architecture info")
	}
}

FWIW, I wonder if we should consider replacing `var Architecture` with a `func Architecture()` (with a `sync.Once`). Currently this is part of an `init()`, which means that we'll be loading `"kernel32.dll"` on Windows (and a syscall), and we may be logging some error just by importing this package 🤔 