Ring_buffer: add 'avail_capacity()' function

The 'avail_capacity()' function returns how many more elements would
currently fit into the ring buffer.

Fixes #921.
Ring_buffer: make synchronization optional

With this patch, the 'Ring_buffer' class can be made unsynchronized by
setting the 'Ring_buffer_unsynchronized' policy as third template
argument.

Fixes #922.
Noux: add basic 'Ctrl-C' support

This patch implements the POSIX signal functionality needed to interrupt a
running Noux GDB by pressing 'Ctrl-C'.

It allows to register a signal handler for the 'SIGINT' signal, which
gets executed after 'Ctrl-C' is received from the terminal. With the
current state of the implementation, the signal handler only gets executed
when the Noux application calls a 'read()', 'write()', 'ftruncate()' or
'select()' syscall.

Fixes #923.