Success for ticket_get is >= 0.
Use common I/O and output buffers for all RPCs.

The common I/O buffer:

+       void *buffer = xxmalloc(MAX_BUFFER_SIZE); /* general purpose temporary buffer */

is allocated once and used for all I/O RPC. We no longer repeatedly reallocate
a buffer for pwrite/pread/etc.

The output buffer for RPCs is now in a buffer_t. Most RPC now use this for
"extra" output (e.g. pread) instead of allocating memory on the heap each time.

There is also other smaller cleanup such as using fewer variables on the stack,
better variable scoping, and consistent error handling. Also a few minor bugs
have been fixed, like the stat update for unlink.
Merge remote-tracking branch 'ccl/pull/609/head'

* ccl/pull/609/head:
  Use common I/O and output buffers for all RPCs.
  Success for ticket_get is >= 0.
Use cheaper static array.
Use simpler stack buffer.
Remove redundant free.
Use exit/fatal.
Handle /proc/self/fd and /dev/fd.

Parrot was trying to open these file descriptors as normal files. However,
these descriptors might actually refer to a native file, like a socket, so
Parrot should pass the open on to the kernel unmodified. In the case of a
Parrot file descriptor, we want to create a new file description (pfs_pointer).

readdir on /proc/self/fd also now omits special file descriptors (like the
channel). This might not be the best solution. In an ideal scenario, the tracee
can't see the channel at all. However, the channel does use up one of its file
descriptors and that has side-effects (e.g. dup2 to the channel file descriptor
will inexplicably fail, from the application's perspective). Any fix for this
is probably involved and I'm not aware of any application negatively affected
by this.  The best solution for now seem to be to hide the channel in
/proc/self/fd results. [I *have* seen applications try to close the channel fd
before, because they found it via readdir on /prof/self/fd.]

Fixes #598.
Use absolute path for --prefix

This makes our recursive Make install work with relative paths.
Remove necessary but troublesome -n echo option

Darwin doesn't support the echo -n option. For this use-case, we don't need it
though.
Check for mysql include in multiple places, fixes a build problem on redhat7.
Fixed caching behavior in work queue: all files are cached upon request.
Previously, renamed files were not cached, due to deficiencies in the
worker cache structure, but this was fixed in the most recent worker cleanup.
Fixed missing case: caching flag must also be set in submit_simple.
Remove redundant free.
Use exit/fatal.
Implemented environment variable propagation in makeflow,
batch_job, and work_queue.  Drivers for chirp, hadoop,
and mpi_queue do not support environments (yet) and will
throw an error if attempted.
Fix merge.
Cleaned up stdout messages to be a little more verbose and visually consistent.
Added environment variables to docs.
Removed comments from variable example.