Switching and Finite Automata Theory