Code movement.

Remove unnecessary function declarations.
Localize long_opts structure to main.
Formatting.
getopt_long returns an int.
Improve signal handling.

Kill all children performing a service (GC tickets) or handling clients.  Have
select just sleep 5 milliseconds. Relying on SIGCHLD to break out select has
race condition problems (unless you use pselect which is not available
everywhere). This timeout is enough to prevent Chirp from dominating the CPU
while giving reasonably quick response time to these events: child death,
catalog advertisement, and ticket GC.
Localize some static variables into main.

Some formatting.
Minor logic changes.
incompatible -b/-e option check.
Explanation of why HDFS can't do quotas.
Remove old comment.
Only decode/collapse paths.

This operation cannot fail.
Move cfs global.
Move path resolution to CFS layer.

The Chirp server now only URL decodes and collapses paths from the wire. The
CFS layer now resolves these paths which usually involves prepending the root
path and a final collapse.

The net result of this change is reduced coupling of modules. Now every module
"above" the CFS layer sees the same abstraction of the Chirp root as clients.
Add test cases for proxy/hdfs.

This commit also makes HDFS function properly for an empty host:port. This
indicates the user wants to use the "site default", supported by the hdfs.h
API. [This also conveniently allows us to write the test case for HDFS without
specifying a specific host:port.]
Merge branch 'batrick-chirp-cleanup'

Some mostly minor code maintenance:

o Formatting
o Simplification
o Variable localization
o Improved signal handling
o Minor bug fixes
Merge branch 'chirp-root' of git://github.com/batrick/cctools into batrick-chirp-root

This pull request cleans up how path resolution is done in the Chirp server.
Before, all paths were "fixed" from the wire by URL decoding the path and
prepended the "root" path. This patch makes the chirp_server.c only decode
paths. The CFS layer now "resolves" all paths by prepending its root.

The net result of this change is reduced coupling of modules. Now every module
"above" the CFS layer sees the same abstraction of the Chirp root as clients.
Consequently Chirp ACL/tickets are thus simplified. [This is also helpful for
the current Chirp Jobs work as path resolution needs to occur within the CFS
layer.]

I've done manual basic tests with both hdfs:// and chirp:// URLs. I'm working
on test cases for both of these that will exercise these code paths in
autobuild.
Print the host/conf tests are run on.
Oops, output to the test log.

Also include the date.