fix(dsolver/ode_solver): fix the use of param in ODE

For an ODE "d/dt[x] = 0", we handle the variable 'x' as a parameter in
CAPD by putting it in a "par:" section, instead of "var:" section. It is
to minimize the number of ODE variables and avoid unnecessary
computation.

However, we still need to establish the relation between x_0 and x_t
variable, which was missed in the previous implementation. In each ODE
step (simple/non-simple forward/backward pruning), we takes an
intersection of _0 and _t variables of parameter, and update _0 and _t
with the intersected value. If any of the parameter variables gets an
empty interval, the whole process will return UNSAT.

close #19
close #44
chore(dsolvers/ode_solver): use DREAL_LOG_ERROR for exceptions
fix(dsolvers/ode_solver): skip ODE computation for trivial problem

skip ODE computation for trivial problems
refactor(dsolvers): clean up code
fix(dsolvers/icp_solver): use delta instead of 2 * delta when compute residual