tests(capd3): add tests
fix(util/scoped_vec): add missing "std::"
feat(opensmt,dsolvers): use unordered_map if possible
fix(util/hexfloat): fix style
refactor(dsolver/ode_solver): clean up
feat(CMakeLists.txt): add 'util' and 'tests' in style check
refactor(dsolvers/ode_solver): clean up step control
feat(realpaver): make rp_expression_eval, rp_erep_eval const
feat(realpaver): implement rp_box_equal
feat(realpaver/rp_operator_sat): mark ctr c used if box is improved
refactor(dsolver/nra_solver): add debug message for the size of explanation
chore(travis): respect branch name when push to bitbucket and osx repo
fix(cmake): fix dependency problem
fix(cmake): suppress clang warnings for smt2parser
fix(cmake): remove libunwind dependency
fix(dsolvers/icp_solver): use rp_problem and rp_variable instead of their pointer types
fix(dsolver/icp_solver): use rp_constraint instead of its pointer
fix(dsolver/icp_solver): use rp_propagator instead of its pointer
refactor(dsolvers/icp_solver): add debugging message
fix(dsolvers/ode_solver): prune ODE result only if it's non-trivial

A system is trivial if all the ODEs are of the form "d/dt[v] = 0". If a
system is trivial, we don't call prune_forward/backward function because
there was nothing to prune in the bucket.

fix #50