Timestepcontrol

This PR implements the adaptive time stepping for the Blackoil simulator. The TimeStepControl PR #662 for opm-core is need for this to work. 

Adaptive time stepping is enabled when the parameter file contains 
timestep.adaptive=true


I am not sure I want to use exceptions here in the longer term. Failing to converge is a quite common outcome, and I think exceptions should be exceptional. I think it should be reported instead, similar to how linear solvers report their failures (with a returned struct or similar instead of throwing). In this case I do not expect it to have significant performance consequences, but of course zero-overhead exceptions are only zero-overhead when you do not throw them, throwing may be (comparatively) very expensive.