Impulse Control in Finance: Numerical Methods and Viscosity Solutions