extend more constness in socket path

These changes avoid more warnings during the build about casting away
constness from the socket path object.
move xmalloc out to a separate utility file, for easier reuse
break crypto flags out into a separate variable for easier reuse
Transition to non-recursive Makefile

Recursive makefiles don't represent the dependencies between elements
of the project well, and a single Makefile organized into chapters
allows a single instance of make to do cleaner analysis of the
dependencies.

See also Peter Miller's "Recursive Make Considered Harmful"
  http://www.vinci.org/rlv/d/build/rmch/recu-make-cons-harm.html
add  URL and tarball name (even though tarball name does not differ from package name)
autogenerate the correct version in tcpcrypt_version.h.in

We should only need to update the version number in one place.
set up autotest suite

Put in place an initial framework to use autotest.  at the moment, we
are just testing the version number to make sure it matches.

A new test "foo" can be added as tests/foo.at, and referenced in
tests/testsuite.at
added test for sha256 hmac from RFC 4231
c_mac should take a const iovec as input
include -I flags for lib
Allow VPATH builds to work (to appease 'make distcheck')