ikev1: Add fragmentation support for Windows peers

I still think ipsec/l2tp with fragmentation support is a useful
fallback option in case the Windows IKEv2 connection fails because
of fragmentation problems.

Tested with Windows XP, 7 and 8.1.
vici: Fix message encoding type values in documentation
vici: Return a success result for the clear-creds command

Even if the command actually can't fail, this looks more aligned to similar
commands.
vici: Add a ruby gem providing a native vici interface
configure: Add global --enable-ruby-gems and --with-rubygemdir options

This provides the options to build and install ruby gems for components
providing them, such as vici.
vici: Use "gem"-assisted vici ruby gem building and installation
vici: Document the available vici command and event messages
vici: Add some simple libvici examples to the README
vici: Document the ruby gem and add some simple examples
vici: Don't include-depend on libstrongswan for boolean types

As we want to avoid the libstrongswan include dependencies for libvici, avoid
the use of the bool type. Unfortunately this change may break the ABI for
vici_dump(). As this function is mostly for debugging purposes, we do it
nonetheless; my apologies if somebody already relies on the ABI stability of
that function.
vici: Reduce debug level during thread spawning

We want to avoid libvici users to get a cluttered stderr for no real error.
vici: Cancel processor before calling library_deinit()

For non-direct libstrongswan users, the deinitialization segfaults because
of the missing worker thread cancellation.
swanctl: Fix exit codes based on errno

As fprintf() most likely sets errno, we should save it before printing the
error message.
NEWS: Introduce the vici ruby gem
Merge branch 'vici-ruby'

Adds a ruby gem for the VICI protocol, along with some documentation
improvements and some minor fixes to vici and swanctl.
testing: Enable virtio console for guests

This allows accessing the guests with `virsh console <name>`.

Using a serial console would also be possible but our kernel configs
have no serial drivers enabled, CONFIG_VIRTIO_CONSOLE is enabled though.
So to avoid having to recompile the kernels let's do it this way, only
requires rebuilding the guest images.

References #729.
testing: Ensure no guest is running when modifying images

Sometimes guests are not stopped properly. If images are then modified
they will be corrupted.
Updated build-database.sh script to 3.13.0-37 kernel
Added KVM config for 3.16 and 3.17 kernels
unit-tests: Added test for seg_contract_manager