added support for 1 and 2 gates to act on larger qubit spaces

Added functions for expanding 1 and 2 qubit gates to larger qubit spaces. Added optional arguments to all gate functions for configuring the gates to operate in a such a N-qubit space.