Inlined type_str().

type_str() was made inline to silence a compiler warning.
It will anyway not be inlined, but the compiler was the
opinion, it should be inline because it was static and in
an included file. *sigh* Since it does not hurt...
telnet_neg(): removed compiler warnings.

The variable for holding a char is now an unsigned char.
It was anyway limited to 0xff and the sprintf() did
handle it as a char, not an int.
get_message(): minor fix in telnet negotiations.

Some code dealing with incomplete telnet negotiations used
an unsigned length variable. However, the code expected the
length to be possibly negative. Changed the variable to
a ssize_t.
add_message(): changed message_flush to #define.

The compiler complained about message_flush not being a
string literal. Therefore changed it to a define, so it
is a constant now.
(Fun fact: it was previously changed to a variable because
of gcc complaining about a 'null format string'.)
Silenced compiler warnings.

To silence some annoying warnings (that don't seem to be
correct), we disable -Wduplicate-decl-specifier with a GCC
pragma.
Silenced compiler warnings.

Disabled the -Wattributes with a GCC pragma for hash.h to
get rid of a warning about unknown function attribute
'flatten'.
Silenced warnings about depreciation of OpenSSL.

Apple decided to deprecate (and yank) OpenSSL. When that
happens, user have to get OpenSSL themselves. Anyway, the
warnings are of no use to us.
Disabled -Wdeprecated-declarations" by GCC pragma.