Hotfix 1.3

The Enqueue operation needs to modify the pointer to the queue, so we
must pass a pointer-to-pointer.
Fix another problem with Enqueue

The Enqueue operation needs to create new memory if the queue is
empty. This means that we need to pass it a pointer-to-pointer to
the queue. See new test in main().
Merge branch 'hotfix-1.3'