[queue] [fix] Attach "unshift" method to queue object
[queue] [test] Failing test for calling queue.push while queue is running
[queue] [fix] Add "addMethods" to after hooks for queue.update
[queue] [test] Tests for queues do explicit gets and are explicitly ordered
[queue] [test] Wrote tests for new, more robust queue API
[queue] [api] [refactor] Queue has a new, more robust api

Each queue method takes an id instead of a queue object. Each call to
modify the queue does a get and an update, and calls back with the
result and the queue object. All of these calls are enqueued so that
they execute in-order. Between these changes, the queue should remain
consistent, and be able to recover from changes made to the queue
outside the context of the persistence api.