add BufferedOutput

Extracts the queuing functionality out of TcpOutput.go into a general purpose lib for use in any output module
Merge remote-tracking branch 'upstream/dev' into buffered-output-helper

Conflicts:
	CHANGES.txt
Merge pull request #743 from davidbirdsong/buffered-output-helper

general purpose file buffering for output plugins