[docs] Changed formatting for h3 and lower
Use cram for command-line tests

We know use cram [1] to run any command-line tests in our C projects.
It provides the same functionality as our cobbled-together `run-test`
and `train` scripts, with a nicer interface.

[1] https://bitheap.org/cram/
Set library version correctly

We were using SOVERSION to set the full build version of our shared
libraries.  SOVERSION should only contain the first number of the build
version triple.  The VERSION property is what should contain the
library's full build version.  Also, the CMake build file now includes a
description of when and how to update the library version.  (It
*shouldn't* match the package's release version.)
Don't use GLOB to detect library source files
Better CMake 2.6 support

I guess the default output directory for configure_file in 2.6 is the
root, not the current binary directory.
Merge remote-tracking branch 'template/c-template' into develop

* template/c-template:
  Better CMake 2.6 support
  Don't use GLOB to detect library source files
  Set library version correctly
  Use cram for command-line tests
  [docs] Changed formatting for h3 and lower
Fix add_test() to work with cmake 2.6

This patch makes the usage of add_test() in tests/CMakeLists.txt
backwards compatible with cmake 2.6.  Of note, we have to ensure
the current working directory is CMAKE_BINARY_DIR before running
the cram test cases.  We can do this within add_test() with prefix
command to ccram.
Fix tests/ccram to use POSIX string equality operator

This patch updates tests/ccram to compare strings using `=`, which is
POSIX sh compliant.
Merge branch 'feature/posix-sh' into c-template

* feature/posix-sh:
  Fix tests/ccram to use POSIX string equality operator
Merge remote-tracking branch 'template/c-template' into develop

* template/c-template:
  Fix tests/ccram to use POSIX string equality operator
  Fix add_test() to work with cmake 2.6