asn1: Add OID for Blowfish CBC

The OID (1.3.6.1.4.1.3029.1.2) is technically not correct, the correct
one is (1.3.6.1.4.1.3029.1.1.2).  Every other library or tool (like OpenSSL)
uses the incorrect one so we do the same.

References #740.
pkcs5: Add support for PBES2 encryption schemes other than 3DES

This allows using e.g. AES for PKCS#8 and PKCS#12 files.

Some legacy schemes defined in RFC 2898 are not supported (like RC2).

Fixes #740.
ike: Make check for known payloads depend on IKE version
ike: Only parse payloads valid for the current IKE version
ikev1: Accept IPComp proposals with 4 octet long CPI values

While they SHOULD be sent as 16-bit values according to RFC 3173
a responder MUST be able to accept CPI values encoded in four bytes.
ikev1: Use same map for AH and ESP authentication algorithms

The transform identifier used in AH transforms is not the same as the
authentication algorithm identifier used in the transform attributes in
AH (and ESP) transforms.
NEWS: Add note about AH algorithm mapping
Expanded bliss_bitpacker to 32 bits
unit-tests: added bliss_sampler test
Automatic generation of optimized Huffman codes
dumm: Fix -Wformat warning in ruby extension

In recent ruby versions, extensions get built with -Wformat. As we use custom
printf specifiers, that does not work for us. As there does not seem to be a
reliable way to override -Wformat, we use a variable for the format string,
which prevents gcc from doing the -Wformat check in that particular situation.
Pack private key arrays
eap-radius: Use the single-server legacy server options as fallback
vici: Add a destroy method to builder, allowing cancellation without error

When cancelling a builder, finalize throws an error which we might prefer
to avoid.
vici: Use silent builder destroy function in vici_free_req()
swanctl: Fail loading a connection if loading a cacert constraint fails
bliss: Fix compilation warning with certain GCC versions

Theoretically, n could be zero and these variables are then used
uninitialized.  Older GCC versions warn about this and on Travis where we
compile with -Werror this causes the tests to fail.
bliss: Fix monolithic build

This requires moving test files so that the Makefile for the tests can be
included after building libstrongswan, which requires the plugin when
building monolithically.  Due to this a static helper library is required
as directly referring to object files (or source files) is not possible.

It's also necessary to avoid any link-time dependency on libstrongswan in
bliss_huffman, to avoid circular dependencies (bliss_huffman -> libstrongswan
-> bliss -> bliss_huffman).
Include design parameters in generated Huffman code files
Use Huffman code in BLISS signature