Centralize db.yml path

Move this to a static method on a class so that we are not hard coding it
everywhere.
Prevent double installation

The install command now prevents double installation, and we have a basic
test for that.  This should work all forms of package installing (xpa, xpd,
etc.).
Root xpkg scripts sets environment vars

If not already set it sets root, tree, and repo dirs to point to env, pkgs
and repo dirs respectively.  This make it simpler to use that wrapper to
build packages.
GMP version 5.1.2

Needed to build GCC.  Full description:

  GMP is a free library for arbitrary precision arithmetic, operating
  on signed integers, rational numbers, and floating point numbers.
GNU MPFR library version 3.1.2

Needed for GCC.  Full description:

  The MPFR library is a C library for multiple-precision floating-point
  computations with correct rounding
GNU Mpc library version 1.0.1

Needed to build GCC.  Full description:

  Gnu Mpc is a C library for the arithmetic of complex numbers with
  arbitrarily high precision and correct rounding of the result.
Fix bug in double install error msg

We forgot to sub in the args, so the message wasn't very helpful.
Comment out some invasive prints

We really need a proper logging solution.
Support command lists in xpd files

The 'configure', 'build', and 'install' commands now allow you to supply
list of commands instead of a single command.
First try at GCC 4.8.1 pkg

This is currently failing near the end of the build because it can't find
stdio.h.  The flags I am giving it I completely stop if from looking in
any system directories.
Add env_root to package build variables

This lets package build/configure commands reference the root of the
environment they are being built/installed into.  Some build systems need
this information, because they ignore CFLAGS/LDFLAGS.
GCC 4.8.1 (c/c++) that builds

No tests yet for this package but it does build!
Improved info command

This command now displays the same info message for both archives and
installed packages.  It also displays the information in yaml just like
our little README example.
Don't compress overall XPA package

The files themselves are already in a compressed archive, so double
compression is in-efficient, and makes it take a long time to extract the
xpkg.yml from archives.
Fix up makefile dependencies in tests

Some of our tests packags did not have all the needed makefile
dependencies.
libgreet now has install dir twice in one string

This is a case that GCC has in it's configure string, and we don't handle
that case very well at all.
Fix for install path re-writing

If we had one binary string with the install dir in it twice, the re-write
logic would fail, because it didn't take into account the offset shift
caused by previous operations.

Here have re-written the detection such that each string gets one list,
with all the specified offsets, and then the null terminator location. The
replacement logic uses this to properly handle this case.
Fix another typo in an error message

These really don't have good enough test coverage.
Fix bug, include dep info in binary packages

Yes it's crazy that this wasn't actually included, but now it is (with a
test!).

Dependency display has also been included in the info description.
Remove symbolic links properly

Previously if a symbolic link was broken it would not be removed, this is
now fixed. (Darn you difference between exists and lexists)  We also fixed
and issue with offsets being found in symbolic links, and being
essentially double counted.