Oscillation treatment withlimitedupdate

Adding the Oscillation detection and treatment for the Newton iteration for better convergence. Adding a few user-specifying input parameters. 
- relax_type  Two types of relaxation types can be applied now. One is simple dampening (dampen) and the other one is Successive-Over-Relaxation (sor). Simple dampening relaxation is used by default.(dampen)
- relax_max  The strongest relaxation parameter can be used, it should between 0 and 1. 
- max_iter    The maximum iteration number for the Newton iterations. 15 is used by default, while under some other situations, bigger maximum iteration number can be required. 

The grammar should follow the examples below. 
- relax_type = dampen or sor
- relax_max = 0.4
- max_iter = 25