Unified project description across all documentation.
README: Extended installation instructions a bit.
ReleaseNotes: Added a summary of the utility functions.
strbuf: Free memory when it's not longer needed.

While this might generate some churn in some situations, care has been taken
to avoid this as much as possible while providing a (hopefully) good balance
between memory usage and the need to reallocate memory.
frontend: Treat CONNECTION_IDLE as an invalid command.

This is only meant for internal use; don't silently ignore it.
frontend: Fix invalid command handling when receiving data in chunks.

When skipping over invalid command data, make sure not to skip more data than
what's currently available. Rather, remember how much data needs to be ignored
and do so after actually receiving it.

Added a new test which catches these cases and also provides some more
low-level communication tests.
frontend: Handle missing authentication early.

… and limit the max amount of buffered data for unauthenticated connections in
order reduce the impact of anonymous DoS attempts.
frontend: Execute commands early on large amounts of incoming traffic.

This will free up buffer space if possible.
frontend: Simplified error handling.
connection_test: Free username strings stored in mock connection objects.
dbi_test: Don't allocate any memory in dbi_driver_open_r().

This memory would be lost and appears as irrelevant noise in valgrind memory
checks.
t/: Run all unit tests through valgrind.

This is implemented through a wrapper script which will run its arguments
through valgrind if the first parameter matches "unit/". It is passed in to
'make test' using automake's TESTS_ENVIRONMENT variable.