Syslog hostname

Currently the syslog messages are sent with the value UNKNOWN_HOSTNAME in the hostname field.  This is ugly especially if the user is pooling syslog messages from multiple hosts into a single database.

The user is expected to manually set the hostname property in their logging configuration if they want some other value.  This is also inconvenient and inconsistent with the behaviour of other syslog implementations.

This patch makes a call to InetAddress.getLocalHost().getHostName(), just like in log4j.  It only tries this once when the object is created and not for every log message that is sent.