Optimal Quantum Circuits for General Two-Qubit Gates