Use portable transport enumerator for k5_sendto

In k5_sendto and k5_locate_server, replace "socktype" parameters with
a new enumerator k5_transport, so that we can add new transports which
are not in the socket type namespace.

[ghudson@mit.edu: renamed type to k5_transport; clarified commit
message]
[kaduk@mit.edu: use 'transport' for the name of variables of type k5_transport]
[nalin@redhat.com: update the test program]
Build support for HTTPS transport
Remaining cm read/write mutator functions
Add ASN.1 codec for KKDCP's KDC-PROXY-MESSAGE
Dispatch-style protocol switching for transport
HTTPS transport (Microsoft KKDCPP implementation)
Track the realm name for MS-KKDCP

Always pass a realm name to set_conn_state_msg_length(), to ensure that
we include the not-actually-optional target-domain field if we're using
MS-KKDCP.
Don't try to zero the byte after the buffer
Be more exacting about the reply content-length
Differentiate HTTPS and TCP trace messages
Remove a check on the kpasswd server's address

This test breaks when we're sending password changes over HTTP, and most
likely under NAT, too.
Add http_anchors, http_revoke, and http_hostname settings

Add http_anchors, http_revoke, and http_hostname settings, mimicking
both the locations and effects of their similarly-named PKINIT
counterparts, but affecting HTTPS connections to KDC proxy servers.
Check for strtoul() correctly
Add a simple KDC proxy test server

This proxy server uses python-paste to run the kdcproxy from
https://pypi.python.org/pypi/kdcproxy.  It should be used along
with the proxy.pem certificate in ../tests/dejagnu/proxy-certs.
Add a test for MS-KKDCP client support