Findlib package rationalization

Rationalize the 'foreign' findlib package.  Changes:

* Use predicate negation `-mt` to detect unthreaded code rather than relying on match ordering (6bf2e1b4).
* Introduce subpackages `ctypes.foreign.threaded` and `ctypes.foreign.threaded` so that clients can explicitly select the appropriate implementation (271fdf5).
* Move `ctypes.foreign-base` to `ctypes.foreign.base` (94ba66b).