Features/fix syslog facility

I've updated all the syslog code to more closely match what's in go's stdlib.

I've ported over all the syslog tests (save one that is irrelevant for us) so this patch also fixes some priority bugs, as well as adding one time reconnect support.