Reversible and Quantum Circuit Synthesis