Added methods that were thought to be unused.
Added more code documentation.
Added a hardware object for the model of the queue and separated between
the model itself and the classes that can be contained in the model.

The objects that can be added to the model can be found in
queue_model_objects_<version>
Using the new QueueModel hardware object. This finalizes the attempt to
remove the QueueModelFactory object and the CollectContext object. Which
now has been replaced with QueueModel and Session hardware object.
Using the QueueModel hardware object, part of previous commit.