Lobster - Optimizing Homomorphic Evaluation Circuits by Program Synthesis and Term Rewriting