Support for FreeBSD

We update the scripts to use `/bin/sh` instead of bash.  Also, a
small update to `CMakeLists.txt` is included for making debugging
a little easier.
Support the Tilera platform

This patch provides build and test script updates for the Tilera
platform.  The cmake scripts autodetect if you are configuring on a
system with a Tilera MDE installed, so you can use the normal `cmake`
command in a build directory with standard cmake options.  Note that
we turn off building the documentation on Tilera, even if Sphinx is
installed.

The major modification to our standard workflow is testing: replace
`make test` with `./tile-test`.  This assumes there is a working
connection to a Tilera device.

Installation requires sudo access, i.e., `sudo make install`. If you
intend to use these files regularly, then you should use an installation
prefix that includes `$TILERA_ROOT/tile`.  One good example is
`$TILERA_ROOT/tile/usr/local`, but you can use any directory you want
that is supported by the various `tile-monitor` upload and mount options.
Merge branch 'feature/freebsd' into c-template

* feature/freebsd:
  Support for FreeBSD
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
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.
Build man pages based on release date

We build the man pages for a repo based on a release date now, which
greatly simplifies the process.  The extra benefit is compiled man
pages are now consistent across all installations instead of dated
based on when a repo was built.
Merge branch 'feature/man-pages' into c-template

* feature/man-pages:
  Build man pages based on release date
Fatal warnings with Intel compiler

We want -Wall and -Werror with Intel's compiler, too.
Don't install empty man page directories

The CMake logic for installing man-page link files would create a
directory for each section that might possibly contain links.  Now it
only creates directories for the sections that actually contain links.
This also fixes a bug when using CMake 2.6, where the docs/links
directory needed to be present, even if your project has no links
whatsoever.  It's now fine for the directory to be missing.
Explicit header and footer in man pages

You now need to explicitly provide the text that goes in the header and
footer of each man page.  We were relying on a pandoc default before,
but that default has changed recently, so now we're requiring you to
provide specific text.
Remove old Sphinx documentation template

To complete the move to man page documentation.
Merge branch 'feature/docs' into c-template

* feature/docs:
  Remove old Sphinx documentation template
  Explicit header and footer in man pages
  Don't install empty man page directories
Ignore compiled man pages in git diff

No need to see the ugly compiled troff output when running a diff.
Embed copy of cram

We use the cram Python module [1] for command-line testing — i.e., where
you want to run a command line program and verify its output in some
way.  Before we relied on the cram module being installed in some system
location.  But it's not very big, and it's only a single file, so lets
embed it directly in the source tree instead.  Now you only need to have
Python installed to be able to run the command-line tests.

[1] https://pypi.python.org/pypi/cram