Add minimal DNS helper application

Add a minimal DNS resolver (built for both i386 and amd64) so that we
can stop using the dns-cgi hack.  This minimal DNS resolver uses
libares (c-ares).  It also is capable of validating an IPv4 address,
and returning its output in a format suitable for passing to a Bourne
shell "eval".

Put the necessary targets in the Makefile to build this.

Declare the "host" target as PHONY, and while we're at it, declare
other .PHONY targets that should have already been there ("clean" and
"install")
Don't hardcode URLs in debathena-loader.sh

Updaet debathena-loader.sh to fetch the tarball from the same remote
directory as the preseed file.  This limits the number of places we
hardcode IP addresses, and makes it easier to move things around
during testing.
Dynamically generate debathena.preseed

Remove debathena.preseed from version control, and dynamically
generate it in the Makefile.  This allows for easy deployment to other
directories or servers for testing.  Declare the target as PHONY to
ensure it runs each time.  Also, remove the file in the "clean"
target.
Add kexec and install it in stage1

Rather than downloading an arbitrary kexec binary via wget, put it in
the installer here, and keep it under version control.

Add necessary phony Makefile targets to install this.
Rewrite stage1 installer to use debconf

Add a set of templates and rewrite the stage 1 installer to use
debconf, for a more pleasing UI, rather than relying on a
poorly-initialized VT5.  The logic is changed a bit, and we ask the
metapackage question here, as well as making it a bit easier to change
advanced options.
Makefile: Tweaks to install target; variable names

- Switch from "d" to "DESTDIR" to better align with convention.
- Modify the install target to depend on the destdir as well as
  the "clean" target.
- Add a taret for DESTDIR which errors out if it doesn't exist.
- Cause the build to fail if DESTDIR isn't writable