Improve syslog support

This supports better parsing of both JSON and plain text messages. It also fixes the issues where syslog prefixes the message with the message length causing them to not be parsed.

This is based on #4.