Expand socktype usage to protocol enumerator.

The protocol enumerator retains all definitions of socktypes (preserving
backward comparability) while allowing for new protocols to be defined.
Working HTTP transport.

This uses base64 encoding and POST requests to encapsulate kerberos messages.
Configuration file syntax changed to `kdc =
[(tcp|udp|http)://]<addr.of.kdc>[:<port>]`.
Enable kpasswd protocol to use HTTP for transport.

Forces kpasswd to respect the transport protocol defined in krb5.conf instead
of ignoring it and choosing UDP.
Add ability to POST to a specific page for HTTP transport.

krb5.conf syntax is now `kdc =
[(tcp|udp|http)://]<addr.of.kdc>[:<port>][/<page>]` with the understanding
that <page> will be ignored when HTTP is not specified.
Add HTTPS transport for Kerberos traffic.

krb5.conf syntax is now `kdc =
[(tcp|udp|http|https)]://<addr.of.kdc>[:<port>][/<page>]` with the
understanding that <page> will be ignored if the protocol is not HTTP or
HTTPS.