app, collector: move queue handling of app related messages

All app related messages are now handled in the app package. It makes
collector even smaller (which is very good).
collector: clean test suite (the struct)
app: improve message handler state management
app: added test for handling of messages directly from the queue

This test is very slow, and contains a spin lock (so we don't mess
around with other tests). When running go test with -short flag, this
test is skipped.