Shallow Quantum Circuits: Algorithms, Complexity, And Fault Tolerance