Fix lots of things

This commit:

 - exports the module
 - binds the function where `this` is used and was undefined
 - fixes the ordering of messages so that they are always delivered in a FIFO fashion, since the module is called `then-queue`
 - adds a `length` property, which lets you see whether there are messages waiting, or receivers waiting.