Add KCM client support

This pull request improves interoperability on OS X 10.7+ by using the native KCM ccache by default.  It is also possible to use this client support on other platforms against the Heimdal KCM daemon, but the usability benefit on OS X is the primary short-term motivation.  Ben has tested this on OS X 10.9.

The first commit changes the k5-buf interfaces to make them more concise to use and to make error-checking of k5bufs more natural in the standard flow control.