Organize and add tests

Tests are organized into higher level keywords and the keywords are
separated into a file for more readability. A test for publishing
multiple messages and validating the correct message is added.