Add LinkedQueue: An unbounded MPMC queue

The current implementation uses a mutex around every single operation.
This is not ideal but is a good initial implementation. The goal is to
eventually add a lock free implementation.