Perform basic work on porting of Guile-SSH on libssh 0.6.3

Perform basic work on porting of Guile-SSH on libssh 0.6.3.
Currently it compiles with 0.6.3 and 4 of 5 tests pass.  There is
some work that should be done.

* ssh/auth.c (guile_ssh_userauth_pubkey): Update.  Change argument
  list.  All callers updated.
  (guile_ssh_userauth_autopubkey_x): Update.  Rename to
  `guile_ssh_userauth_pubkey_auto_x'.  Change argument list.  All
  callers updated.
  (guile_ssh_userauth_agent_x): New procedure.
* ssh/auth.scm: Update.
* ssh/key-func.c (public_key_to_ssh_string): Remove.
  (guile_ssh_public_key_to_string): Update.
  (guile_ssh_private_key_from_file): Update.
  (guile_ssh_public_key_from_private_key): Update.
  (guile_ssh_public_key_from_file): Update.  Change argument list.
* ssh/key-type.c (free_key_smob): Update.
  (scm_from_ssh_key_type): Add ECDSA.
  (guile_ssh_key_get_type): Update.
  (_private_key_p, _public_key_p): Update.
* ssh/key-type.h: Update.
* ssh/message-func.c (get_auth_req): Update.
* ssh/Makefile.am (libguile_ssh_la_LDFLAGS): Add `-lssh'.
* tests/client-server.scm ("userauth-pubkey!, success"): Update.
* examples/sssh.scm.in (main): Update.
tests/client-server.scm ("userauth-pubkey!, success"): Remove pubkey.

* tests/client-server.scm ("userauth-pubkey!, success"): Public
  key is not needed anymore, remove it.
examples/echo/client.scm.in (main): Remove public key.

* examples/echo/client.scm.in (main): Public key is not needed
  anymore, remove it.
  (get-pubkey): Remove.
README: Update requirements.
Merge branch 'master' into libssh06

Conflicts:
	ChangeLog
Merge branch 'master' into libssh06
Merge branch 'master' into libssh06
Use new libssh 0.6 API for handling of public key fingerprints

Use new libssh 0.6 API for handling of public key fingerprints.
Update TCs and documentation.

* examples/sssh.scm.in (main): Update.
* examples/echo/client.scm.in (main): Update.
* ssh/session-func.c (guile_ssh_get_server_public_key): New
  procedure.
  (guile_ssh_get_public_key_hash): Change arguments.  Move to
  `ssh/key-func.c'.  All callers updated.
* ssh/session.scm (bytevector->hex-string): Move to `ssh/key.scm'.
  (get-server-public-key): New procedure.
* ssh/key-func.c (guile_ssh_get_public_key_hash): New procedure.
* ssh/key.scm (get-public-key-hash, bytevector->hex-string): New
  procedures.
* tests/client-server.scm ("get-public-key-hash"): Check md5 and
  sha1 fingerprints.
* doc/api-sessions.texi (Sessions): Add documentation for
  `get-server-public-key'.  Move `get-public-key-hash',
  `bytevector->hex-string' to `doc/api-keys.texi'.
* doc/api-keys.texi (Keys): Update.
* NEWS: Update.
ssh/base64.{c,h}: Remove

* ssh/base64.c, ssh/base64.h: Remove the files because we don't
  need a custom base64 converter anymore.
* ssh/key-func.c: Don't include `base64.h'.
* ssh/Makefile.am (libguile_ssh_la_SOURCES): Update.
ssh/key-type.h (key_data): Remove `key_type' field

* ssh/key-type.h (key_data): Remove `key_type' field.
* ssh/key-func.c (guile_ssh_public_key_from_private_key): Update.
* ssh/message-func.c (get_auth_req): Update.
ssh/key-type.h (KEY_TYPE): Remove
ssh/key-type.c (key_types): New structure

* ssh/key-type.h (key_types): Export structure.
* ssh/key-type.c (key_types): New structure.
  (scm_from_ssh_key_type): Use `_ssh_const_to_scm'.
* ssh/key-func.c (key_types): Rename to `hash_types'.
  (guile_ssh_get_public_key_hash): Update.
key-type.h (_ssh_key_type_to_scm, _scm_to_ssh_key_type): New procedures

* ssh/key-type.c (scm_from_ssh_key_type): Rename to
  `_ssh_key_type_to_scm'.  Make it public.
  (_scm_to_ssh_key_type): New procedure.
* ssh/key-type.h (_ssh_key_type_to_scm, _scm_to_ssh_key_type):
  Export.
ssh/key-type.c (_scm_to_ssh_key_type): Fix return type

* ssh/key-type.c (_scm_to_ssh_key_type): Fix return type.
* ssh/key-type.h (_scm_to_ssh_key_type): Likewise.
ssh/key.scm (string->public-key): New procedure

* ssh/key.scm (string->public-key): New procedure.
* ssh/key-func.c (guile_ssh_string_to_public_key): New procedure.
* ssh/key-func.h: Likewise.
* doc/api-keys.texi (Keys): Add description of
  `string->public-key'.
examples/echo/client.scm.in (main): Fix a bug

* examples/echo/client.scm.in (main): Fix a bug: Print fingerprint
  as a MD5 hex string.
ssh/auth.c: Rename some procedures

* ssh/auth.c (guile_ssh_userauth_pubkey): Rename to
  `guile_ssh_userauth_public_key_x'.  All callers updated.
  (guile_ssh_userauth_pubkey_auto_x): Rename to
  `guile_ssh_userauth_public_key_auto_x'.  All callers updated.
  (guile_ssh_userauth_password): Rename to
  `guile_ssh_userauth_password_x'.  All callers updated.
  (guile_ssh_userauth_public_key_try): New procedure.
* ssh/auth.h, ssh/auth.scm: Update.
* examples/echo/client.scm.in (main): Update.
* examples/sssh.scm.in (main): Update.
* tests/client-server.scm ("userauth-pubkey!, success"): Rename to
  "userauth-public-key!, success".  Update.
* doc/api-auth.texi (Auth): Update.  Add description of
  `userauth-public-key/try' and `userauth-agent!' procedures.
* NEWS: Update.