Add syntax change for krb5.conf (parser).

Current syntax is `kdc = [(udp|tcp)://]<kdc.addr>[:<port>]`.
Expand socktype usage to protocol enumerator.

This will allow for future expansion into other transport protocols.
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>]` and parser updated accordingly.
Protocol enumerator is also expanded.
Add ability to POST to a specific page for HTTP transport.

This necessitates a slight change for krb5.conf.  Syntax is now `kdc =
[(tcp|udp|http)://]<addr.of.kdc>[:<port>][/<page/location>]` with the
understanding that <page/location> will be ignored when HTTP is not specified.
Enable kpasswd protocol to use HTTP for transport.

Currently, if the other end of the HTTP proxy is not running on (effectively)
the same machine as the KDC, the result will be "kpasswd: Incorrect net
address changing password".