Audrius Butkevicius' "Counters" patchset.

Yeah I couldn't figure out how to cleanly apply the patches in
the format they were sent to the libssh list here:

  http://www.libssh.org/archive/libssh/2014-01/0000023.html

but with some manual tinkering was able to end up with this.
The last patch in particular wouldn't apply cleanly, possibly
because it's based on master (this branch is based off v0-6).
messages: emit pubkey failures to callbacks

With this change, errors encountered while processing public keys
in 'ssh_packet_userauth_request' will be propagated back up to the
user-provided 'auth_pubkey_function' callback.

For example, if signature validation fails, the user callback will
be invoked with a signature state of SSH_PUBLICKEY_STATE_WRONG.

Before this change, a failure in signature validation would not be
made explicit via the 'ssh_server_callbacks'.
session: add getters for session cipher names
channel: add ssh_channel_write timeout family