add flush interface to logger/sink

This adds Flush() to the interface, which will wait for in-flight logs to finish.

Honestly though I think we should just block on writing and shuck all the syslog logic out of here. It's like one line in the ctl scripts to hook up syslog. Considering we can remove the flag configuring the syslog name, it's a net 0.

Before:

```
    exec /var/vcap/packages/converger/bin/converger \
      -syslogName=vcap.converger \
      -etcdCluster=<%= p("etcd.machines").map{|addr| "\"http://#{addr}:4001\""}.join(",")%> \
      1>>$LOG_DIR/converger.stdout.log \
      2>>$LOG_DIR/converger.stderr.log
```

After:

```
    exec /var/vcap/packages/converger/bin/converger \
      -etcdCluster=<%= p("etcd.machines").map{|addr| "\"http://#{addr}:4001\""}.join(",")%> \
      1> >(tee -a $LOG_DIR/converger.stdout.log | logger -t vcap.converger) \
      2>>$LOG_DIR/converger.stderr.log
```

...and then we're not depending on Go's syslog library being compatible with the system's. Which I'm not sure is the case unless we vendor syslog like gosteno did.