Add "AFullQueue.NotifiesProducerWhenDequeueFromFull"
Refactor bounded-queue
Add "AnEmptyQueue.NotifiesConsumerWhenEnqueueFromEmpty"
Add "AQueueWithOneElement.NotifiesConsumerWhenDequeueToEmpty"
Refactor bounded-queue test code
Make the Queue type independent template class
Refactor bounded-queue test code

Rename some test name. Correct literals.