Viscosity Solutions and their Applications