Merge branch 'release/0.6.0' into develop

* release/0.6.0:
  Bumping soversion for 0.6.0
Fix memory leak with CORK_HASH_TABLE_MAP_DELETE

The cork_hash_table_map function would produce a memory leak if you used
the CORK_HASH_TABLE_MAP_DELETE function to free the entries as you
iterate through the table.  We'd remove the entry from its hash table
bin, but we weren't freeing the entry itself.  Doh.
Remove cork_tls infinite loop in Release builds

The code in the pthread implementation of the cork_tls() macro was
incorrectly putting some function calls inside of an assert check.  In
Release builds, the assert calls are left out of the compiled code, so
these function calls weren't being performed.  This led to compilation
errors (due to unused symbols) and an infinite loop when initializing
the thread-local storage.
Merge pull request #1 from dcreager/feature/issue-1

Libcork build generates compiler warning (unused function)
Merge pull request #2 from dcreager/feature/map-memory-leak

Memory leak with CORK_HASH_TABLE_MAP_DELETE
Better /bin/sh compatibility in run-test

I guess the run-test script had an if test that used a bash extension.
This makes it work with dash, too, and presumably any other /bin/sh
clone.
Merge remote-tracking branch 'templates/c-template' into develop

* templates/c-template:
  Better /bin/sh compatibility in run-test
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.
cork_ip_is_valid_network

This patch adds three new functions for verifying that an IP address is
a valid specifier for a CIDR network with a given CIDR prefix.  For the
IP address to be valid, all of the lower-order bits (everything below
the CIDR network prefix) must be set to 0.

Closes: #3
Built-in support for “system” errors

This patch adds the cork_system_error_set() function, which fills in the
current libcork error condition with information from the C library's
errno variable.  (We get the text of the error condition from the
strerror function.)
cork_once allows recursion

The cork_once macro now works properly when the initialization function
being called is recursive.  When a thread detects that the function is
already being executed, it checks to see if it's the thread doing that
execution.  If so, it immediately returns, to allow the recursion to
continue.  Otherwise, it waits for the other thread to finish the
initialization.
cork_unreachable() function

This patch adds a new function that can be used in code paths that are
unreachable, but that the compiler can't identify as such.  The function causes
the current program to abort with an error message indicating that the code path
should be unreachable.
Remove atomic functions for non-int types

Since not all atomic instrinsics are available on all platforms, we now only
provide them for “int” and “unsigned int”.  (Oh and the pointer types.)
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