Specify network connection to tile-monitor

This patch updates the tile-test script to use a network connection
when connecting to a Tilera processor using tile-monitor.  This appears
to address the problem of slow execution and crash shepherd processes
when connecting over the (default?) serial connection.
Allow custom library installation directory

It turns out that some Linux distros (ahem, RHEL) want you to put 64-bit
libraries into /usr/lib64, not /usr/lib.  So we need to allow the user
to override the destination directory that we use when installing
libraries.  This new `CMAKE_INSTALL_LIBDIR` variable seems to be the
standard one to use.  We cannot rely on it being either a relative or
absolute path (see [1]), but the usage in this patch should work either
way.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=795542
Merge remote-tracking branch 'template/c-template' into feature/lib64

* template/c-template:
  Allow custom library installation directory
  Specify network connection to tile-monitor
Merge branch 'feature/lib64' into develop

* feature/lib64:
  Allow custom library installation directory
  Specify network connection to tile-monitor
Warnings are errors on clang

We were setting -Wall -Werror when compiling with GCC to make sure that
we get rid of all compiler warnings as part of the standard build/test
process.  Now we do that for clang, too, for when we're developing on
Mac OS X.
Merge remote-tracking branch 'template/c-template' into develop

* template/c-template:
  Warnings are errors on clang
Build check if necessary

RHEL5 provides an older version of check than we need.  We have a git
clone of the latest check, which includes a Buzzy package description,
so that we can satisfy the dependency with a built package on RHEL5.
Configurable starting queue index

Each producer and consumer uses an integer index to identify the next
slot in the ring buffer to write into or read from.  Before, we used a
very large initial index, to make sure that the index overflows (and
wraps around to 0) at some point during the test.  This makes the
debugging messages hard to read during normal operation, however, since
the numbers all look pretty similar.  Now, the default is to start each
queue index at 0 (to make them easy to read), and provide a function
(`vrt_testing_mode`) to use the high starting value in test cases.
Debug messages using clogger

All of the existing debug messages (which are normally ifdef-ed out)
have been replaced with clogger debug messages.  Most of them are
trace-level messages, but we have debug-level messages that can be used
to see when producers and consumers have to yield.  This should
(hopefully) be useful in detecting deadlocks.
Always collect queue statistics

They involve extra increments, which are not at all expensive.  And the
data is almost certainly useful.
Merge branch 'feature/debugging' into develop

* feature/debugging:
  Always collect queue statistics
  Debug messages using clogger
  Configurable starting queue index
Skip no-op flushes

The `vrt_producer_flush` causes a producer to “give up” any slots that
is has claimed but not yet used.  This can be useful if the producer is
blocking other producers, which have claimed a later chunk of slots,
from being able to publish those slots.

We now only perform this operation if there are actually unused slots
that we can give up.  If there aren't, then the function is a no-op.
(Before, we would claim an entire new batch of slots and then
immediately give them up.)