Separate the production and the test code
Remove obsolete tests connecting to size
Add "AnEmptyQueue.HasSizeOneAfterEnqueue"
Add "AQueue.GivesTheOldestElementWhenEnqueue"
Refactor the test and the production code

Use the `const` keyword whenever is possible. Use the inner elements
container `size()` function to maintain the Queue's current size.
Add "AFullQueue.SizeEqualsItsMaxSize"
Refactor the bounded-queue