fix: bad marker behaves like non-existing marker

From the point of view of the interface, a marker should has only
two states: returning some messages, or returning no messages.
Currently a malformed message marker results in a 400 response,
which makes the marker no longer opaque.

This patch makes the transport respond 204 for a malformed marker
by making storage return an empty iterator in such a case:

  GET /queues/q/messages?marker=malformed  ->  204

This patch also include some clean up on test code.

Change-Id: I1ac7d4bb42af1644bd16d6bca6b7c50a1d700e10
Closes-Bug: #1212389
Merge "fix: bad marker behaves like non-existing marker"