MongoDB storage driver

This supersedes #94 (cc: @iampersistent). 
No, but it's basically a free check since the `_id` index will be used anyway. Since we do take both arguments, I think it's best to actually use them. This avoids the odd case where a user acknowledges a message but gets the queue name wrong.