Poster queue
Part of #154
This PR introduces the ability to call poster through Queue. Serve & work command use it by default now.
QueuePoster doesn't wrap calls to status endpoint because it can cause an incorrect result. ("success/failure" can be posted before "processing") Currently, the server doesn't do anything if status posting failed besides logging it. For me, it looks like making this feature asynchronous would require quite complex logic which might be isn't important for us. So I just left it as is for now.
p.s. The code in cmd/lookoutd is very diffictult to understand due to multiple composition of stucts. And very often the names are very confusing. For example ServeCommand inherites queueConsumerCommand and gocli.PlainCommand structures. But we don't have queueConsumer command. Also serve does much more, like running watcher or data server, and it's very difficult to figure out where those methods come from.
I have tried different approaches on how to fix tests but all of them had some flaws.
At the end, I implemented this super stupid but not very reliable way. Making it more robust (waiting until something instead of time.Sleep) would create another monster similar to the one we have now, so I'm not sure we want it.