eval: Move LocalCompiler.eval to Semantics.eval_pipes

This function has nothing to do with the LocalCompiler. It is in fact a
thin wrapper around Semantics.eval, so move it into that module.
eval: Store switch policies instead of Local.t