Implemented 2-qubit operator application + extras

Implemented 2-qubit operator application, added CNOT implementation,
created the register interface and refactored a little.