Refactor XPA functionality into class

We want to be able to use this in multiple places efficiently, and we need
to keep carving features out of the super Environment class.
Remove extraneous file.

This file is generated during the build and was accidentally checked in.
Fix configure environment variables

When jumping into an environment the variables that configure uses, like
CLFAGS, were being concatenated together with the path separator, not
spaces.  This changes lets you specify the separator by variable.
build command now install deps

We want to build arbitrary packages, even if they have dependencies, so
lets make that work.
Only install a dep if needed

No real tests for this (yet) but at least we now have the check.  This will
also attempt to catch the case where you try and install conflicting
versions of packages.

Not easy way to test yet, but we could at least check file modification
times.  At minimum there are todo's about the missing tests!
greeter test app prints install dir

The install directory is embedded in the binary of libgreet at build time.
We want to change these paths when we install binary packages, and this is
our test case.
Store install path offsets in archives

To speed up the replacement of the install path in archives we scan files
after we make the package to find the location of all the install paths.
Replace install string in installed binaries

This does a basic replacement of strings in installed binaries and text
files.  It does not handle binary substring replacement (yet).
Embedded install path with suffix greeting

This will let us handle the case where the string is embedded inside a
larger string.  Are previous code just ignored that case (so it didn't
truncate those strings).
Handle install_dir binary sub strings

We now properly handle our install_dir being part of a larger binary
string.  We re-write the entire string adding padding as necessary. This
implementation results in a lot of copies, but it's good enough for now.
Fix functioning naming style in test packages

Stick to C++ standard library style function and variable names.
faketools configure now takes list of files

This lets it configure multiple files if desired.  It still defaults to
Makefile.pyt.
greeter and libgreet conf based greeting

You can now run "greeter -c" and it will load the "greeting" key from a
<intall>/shared/libgreet/settings.conf file and print the messages.  This
is to test that text based files get the install path properly replaced.
Test for text based file substitution

Important to have a test for this, don't want to break packages that have
this functionality.
TODO update, (progress made!)

Almost to the point where we can really start building some packages.