Euler systems and their applications