Major layout reorganisation.

This reorganisation of the file locations of the installed
Felix system splits everything into two directories:

share: contains sources which can be used on all platforms.
Suitable for networked access, central enterprise level service.

host: contains platform specific stuff, including generated
Felix files setting OS switches, C/C++ configuration files,
compiled object files, linked DLLs, and executables, as well
as the fpc database which tells Felix how to use this stuff.

Every development platform requires host, however more target
configurations can be added to support debugging builds,
cross compilation, or whatever.  On a networked enterprise
platform each developer would have their own platform dependent
host, and the target build servers would have theirs.

The primary purpose of this split up is to allow an installed
Felix system to build another one, but this time using Felix
code to do the build instead of Python, thus presenting the
first stage of a bootstrap eliminating Python from the
build process.

In particular cross platform porting could be done eventually using
Felix on the host to generated C++ which is compiled on the target,
eliminating the need for Felix on the target platform.

For end users Felix can be maintained in two processes: managing
the upgrading on the installed sources, and configuring the host
setup and building replacement binaries, all of which can be
supported from a pair of tarballs: one shared source tarball
and one platform specific pre-built host.

In addition, the ability of Felix to build its own core is already well
in hand, and the core should eventually be moved into the
litterbox packaging system so that building another Felix is
"just another" package build.