Modified QubitCircuit class to use just a single gate list and fixed the unit tests accordingly

Work in progress.
It now returns a QubitCircuit