Add a new way to configure architectiure.

The --felix=file switch of flx can now be used to set
the top level directories such as the location of the
target, shared source, and cache directories.

This will be extended to support more locations,
eg where to search for packages, where to put
add ons outside Felix core.

At present this is compatible with the existing architecture
and will continue to support it, but eventually the specification
mechanism will move over to this technology. Put all your admin
problems in one file.

Also in this commit some switches using underscores now have
variants using hyphen instead. Underscore deprecated in favour
of hyphen.