Euler systems and arithmetic applications