Now queues support indexing, front() and back() operations and pairs iteration. Also modernized some of the code to use newer Nim features. Added the "add()" alias to "enqueue()", per nim's conventions (also fits better with pop())