Implement ring multiplication method
Optimized use of temporary arrays in polynomial multiplication
Defined ntru_poly_create_from_seed() and ntru_poly_create_from_data() constructors and built some unit tests for the latter)
Added get_array() method to ntru_poly_t class
Optimized initialisation of indices
Version bump to 5.1.2
Optimize ntru_poly constructors some more
configure: Fix autoreconf with older autotools

Older autoconf versions (e.g. on CentOS 6.5) produce an empty else block
for the removed empty argument, which the shell then trips over when
executing ./configure.

Fixes #536.
settings: Avoid conf file parsing beyond allocated buffer

A valgrind analysis of libstrongswan revealed an invalid read of 1 in
the function starts_with(). A more thorough analysis proved this to be
true and showed that with a specially crafted config file (e.g. a single
'#'-character not followed by a newline), the parser might even
interpret the random memory contents following the allocated buffer as
part of the configuration file.
The way the parser is designed, it must be able to skip an inserted
'\0' and continue parsing. Since it is not able to skip two '\0'
characters, the 'fix' of allocating two more bytes than the size of the
parsed file and setting them to '\0' seems to be a safe bet.

Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
settings: Log all errors on level 1

Closes #539.
thread: Properly clean up meta data of main thread
Refactored ntru_param_sets
Refactored NTRU parameter set selection
Disable mandatory ECP support for attestion
Version bump to 5.1.3dr1
tnc-ifmap: Get a reference to the client cert as it is also used in an auth config
strongswan.conf is not needed on RADIUS server alice
Merged libstrongswan options into charon section
11 bits are needed to encode a maximum index of 1086
Implemented ntru_private_key class