fix printing of errors when starting the graval-mem example app
new FtpServers can be configured to log to stdout or syslog
the connection should log using the servers logger

* not just stdout
Revert "the connection should log using the servers logger"

This reverts commit a551da4fd5f59f611338478f67db7fa8e2a3e484.
just log everything to stdout

* give up on using syslog
* the user can always pipe the output to 'logger' to get the data into
  syslog if they need to
ftpConn should log with ftpLogger

* to ensure the messages follow the right format
add a Printf function to ftpLogger
ensure passwords aren't written to the log file
move logic for excluding passwords from logs into the ftpLogger type
add a custom logging function for outgoing messages
tweak log format

* incoming commands are prefixed with a >
* outgoing responses are prefixed with a <
* log messages that aren't a direct command or response have no prefix
generate a uniq session ID for each connection
change ftpLogger.Print() to accept interface{}

* we're just passing the value onto log.Print, so it makes no difference
make data sockets log with ftpLogger

* so the output is prefixed with the current session ID
Merge branch 'logging'