uses std::deque; refactors the code a bit
implements RetrieveLastNClientsAt
implements OpenCashDesk
adds logic for express cash desk; renames clientState to cashDesks
implements Shuffle and RetrieveFromQueue