Fix off-by-one error when computing padding
nghttpx: Use std::unique_ptr<char[]> instead of char*
nghttpx: Use nullptr instead of 0
nghttpx: Use std::vector for tls_proto_list and npn_list

Now SSL/TLS option mask to disable particular SSL/TLS protocol
versions are pre-calculated and stored in Config.
nghttpx: Code cleanup
nghttpx: Use nullptr instead of NULL
nghttpx: Code cleanup
Merge branch 'master' into h2-13

Conflicts:
	lib/nghttp2_session.c
nghttpx: Only allow DHE, ECDHE + AEAD ciphers for HTTP/2

Cipher suites are chosen by DHE and ECDHE ciphers + GCM (AEAD).  Now
default cipher list is the one recommended by Mozilla web site.  The
--honor-cipher-order option is removed and now it is always assumed.
nghttpx: Create NPN prefs only once
nghttpx: Don't check TLS requirement in ALPN cb cause cipher obj is nullptr

Also don't compare ALPN identifier with streq, since they are just
byte string.
nghttpx: Drop connection if HTTP/2 security level is not satisfied on frontend
nghttpx: Drop connection if HTTP/2 security level is not satisfied on backend
nghttpx: Get rid of openssl filter

Libevent Openssl filter is very inconvenient in various respect.  The
most annoying thing is it somehow emits data when SSL_shutdown is
called.  The reason we introduced this filter solution is drop
connection if TLS renegotiation is detected.  This commit implements
renegotiation detection and drop connection without filtering.