Causal Discovery with Unobserved Variables: A Proxy Variable Approach