Attempt to add a bounded queue in front of the GroupingBoundedQueue
Remove bounds checking from grouping agent
Added test to check the speed of a null agent
Added a console app to test performance
Removed maximum number of groups option
Changed WorkTrackingQueue to use Receive instead of Scan
Remove item id function for work tracking queue

There was no need for the user to supply this
Moved WorktrackingQueue to a class

Seperating out the pure code from the agent code