Set appropriate flags for linux or linux-like systems.

This means that osnames that look like *linux*, like linux-androideabi
or linux-gnueabihf are treated like linux systems.
Configure: When cross-compiling, look for *-gcc* instead of *-*-gcc

Ditto with g++. This allows us to use, for example, ntox86-gcc or
x86_64-w64-mingw32-g++.exe to cross-compile, and have Configure detect
most things automatically.
Fix two Configure tests when targethost is set
Configure: No need to skip the byteorder test when cross-compiling.

This skip was added in 2001, but under the current model there's no
real reason to skip it.
Configure: use $sysroot, if available, in checkccflags

If the user specified -Dsysroot but we don't use it, then the results can
be entirely off.

This also introduces an internal variable for Configure, _sysroot,
which is just "--sysroot=$sysroot", for use in places like checkccflags that
need --sysroot but don't need the other flags.
Configure: Add $run to two tests
Configure: Don't skip the alignbytes test when crosscompiling
Configure: If using targetarch, the computed binaries should stick
Configure: Remove "was file copied" check using run-ssh

This doesn't seem to be of much use.
Store the targetdir, targethost from Configure in config.sh for later.
Introduce $targetport to allow running on a non-standard ssh port

Such as when using user networking on qemu and redirecting a local port
to the emulator ssh
Add missing $run prefix to some Configure tests
INSTALL: Document -Dsysroot
config.h: Remove the exceptions for cross-compilation builds

This makes it so that the values for MEM_ALIGNBYTES and BYTEORDER
are taken from config.sh, instead of always getting a default.