ssl: rename md5, sha1 to md5_ctx, sha1_ctx, fix variable shadow warning

Rename variables md5 and sha1 to md5_ctx and sha1_ctx
to avoid a conflict with functions of the same name
defined elsewhere in the library. This fixes compilation
warning with -Wshadow:

  ssl_cli.c: In function
  ‘ssl_parse_server_key_exchange’:
  ssl_cli.c:310: warning: declaration of ‘md5’ shadows a
  global declaration
  ../include/tropicssl/md5.h:85: warning: shadowed
  declaration is here
  ssl_cli.c:311: warning: declaration of ‘sha1’ shadows
  a global declaration
  ../include/tropicssl/sha1.h:85: warning: shadowed
  declaration is here
net: set *fd to -1 if operation failed, check fd value in net_close()

Set *fd to -1 in net_connect() and net_bind() if any of
the operations failed and close() was called on *fd. This
ensures that *fd is set to a valid file descriptor only
if all operations succeeded.

Check fd value in net_close(), only perform the shutdown
and close only on non-negative fd values.
ssl_client1: fix segmentation fault when connecting to host without SSL service
ssl_client2: initialize all structures, so that we can call *_free() in case of error

In ssl_client2, initialize at the beginning all the structures
that are used in the program. This ensures that calls to
functions like x509_free(), rsa_free() and ssl_free()
do not cause a segmentation fault or other undesired behaviour.
ssl_server: initialize all structures, so that we can call *_free() in case of error

In ssl_server, initialize at the beginning all the structures
that are used in the program. This ensures that calls to
functions like x509_free(), rsa_free() and ssl_free()
do not cause a segmentation fault or other undesired behaviour.