Topological Quantum Computation and Protected Gates