Pretty-printing into a cork_buffer

This patch adds several functions for pretty-printing binary content
into a cork_buffer.
Additional doubly-linked list functions

This patch adds a few new functions for working with doubly-linked
lists.  The functions for adding single elements to a list have more
descriptive names, and there are now functions for moving an entire list
of elements into some other list (in constant time).

Additionally, the function for mapping through a list has replaced with
a function for “visiting” each element.  This is mainly to make the
function signatures more consistent with our other callback-based
functionality — you can abort the iteration with a non-zero result code,
and the `user_data` parameter is first.

Lastly, there are now helper macros for iterating through a list
yourself, rather than using a visitor callback.  See the documentation
or test case on how to use it.
Make buffer appending more efficient

We make cork_buffer_append_vprintf more efficient by not relying on
vsnprintf to determine the size of the format string.  Instead, we
call vsnprintf directly on the current buffer.  If it fails, we add
more space to the buffer and repeat.  The second call is guaranteed
to succeed since the call to cork_buffer_ensure_size_int guarantees
the requested space will be available upon return.
Include thread linker flags in pkgconfig file

On Debian, it looks like we need to tell any library that links with
libcork to also link with the threading library that libcork was
configured to use.  We can pass that information along using the
pkgconfig file.
Merge branch 'feature/thread-libs' into develop

* feature/thread-libs:
  Include thread linker flags in pkgconfig file
Remove cork_thread_body

Part of a larger effort to move away from embedded structs for these
kinds of OO-like types.  (We want to be able to make the types
completely opaque, so that we can add to them at will without breaking
ABI compatibility.)
Merge branch 'feature/thread-body' into develop

* feature/thread-body:
  Remove cork_thread_body
Bump soversion for 0.13.0
Merge branch 'release/0.13.0' into develop

* release/0.13.0:
  Bump soversion for 0.13.0
allocator interface