Make LockedUnboundedQueue implementation configurable
This merges all MRs introducing different LockedUnboundedQueue implementation into a single one.
Note that this change does not affect the default behaviour of the emper.
Closes !100 (closed). Closes !101 (closed). Closes !102 (closed).