Graph Homomorphisms With Complex Values: A Dichotomy Theorem