Airfoil GAN: Encoding and Synthesizing Airfoils for Aerodynamic Shape Optimization