CCNOT and CSWAP Gates

As with the CNOT gate, I set it up so that the changes only occur over
individual axes. I also modified the interpreter to use the new gates.