Default example library prereq is now libcork

None of our projects uses glib anymore, they all use libcork instead.
Let's use that as the example library in the template.
All placeholders are now called APPNAME

There were a couple of places we were using "changeme" or
"PLEASE_DEFINE_APPNAME".  Now we're more consistent.
Don't use GLOB_RECURSE in CMake build rules

CMake recommends explicitly listing out the source files in a library or
executable, rather than using GLOB or GLOB_RECURSE to find them automatically.
So that's what we'll do.
Custom IP address parsing functions

Before, we were using the inet_pton(3) function to parse IP addresses in the
cork_ip_init family of functions.  Unfortunately, different platforms have
different rules about which IP address strings are valid.  To eliminate this
inconsistency, we now use our own custom functions to parse IP addresses.

In addition, the test-core test case now contains many more expected-good and
expected-bad test cases (including all of the IPv6 address recommendations in
RFC 5952).  In addition, the test addresses are now defined in a single place in
the test-core.c file, with the IPv4, IPv6, and generic IP test cases deciding
whether each should be a successful or failed parse.
No default value for CMAKE_OSX_ARCHITECTURES

We no longer set a default value for CMAKE_OSX_ARCHITECTURES.  (Before,
we tried to set a default that would compile a universal binary.)  Now,
it's up to use to set this however you want.
Merge remote-tracking branch 'templates/c-template' into develop

* templates/c-template:
  No default value for CMAKE_OSX_ARCHITECTURES
  All placeholders are now called APPNAME
  Default example library prereq is now libcork
Install Valgrind suppression files

You can now place Valgrind suppression files into the share/valgrind
directory, and they will automatically be installed into
$PREFIX/share/valgrind.
Merge remote-tracking branch 'templates/c-template' into develop

* templates/c-template:
  Install Valgrind suppression files
Valgrind suppression file

This patch adds a Valgrind suppression file for libcork.  The cork_tls
macro doesn't let you finalize the thread-local data, so we need
suppressions for the thread-local error conditions and garbage
collection contexts.
“Supercommand” command-line applications

This patch defines several macros and functions for implementing
command-line applications that consist of several “subcommands”.  (The
`git` and `svn` commands are prime examples of these.)  The patch also
includes a sample application, and test cases that exercise all of the
built-in automatic functionality.
Test option parsing in CLI programs

We didn't have a test case that checked a subcommand that uses getopt.
It turns out the getopt expects an argv that's structured like you get
in your main() function — you have to have the “executable name” appear
as its first element.  The command driver code ensures this is the case
now; for nested command sets, the executable name will be the name of
the command set.
Additional functions for handling timestamps

There are now constructors for building a timestamp from gammaseconds and
nanoseconds fractional values, and accessor functions for extracting the
fractional portion in milli-, micro-, or nanoseconds.