feat: update build system

We have "build.sh" script which builds both the SMT solver written in
C++11 and tools written in Ocaml. After the build, it copies all the
binaries to "bin" directory.
feat(bin/dReach): move dReach to bin directory
test: use "solver" instead of "dReal" in tests
feat(bin/dReach): use real_path to follow symlink in finding SCRIPT_PATH
feat(DSL/): basic code generation
fix(tools/DSL): update bouncing ball benchmark
chore(tools/DSL): remove OASIS generated file
fix(tools/DSL): rename datatypes

 - ASSIGN1/2 => ASSIGN
 - RealVar2 => BRealVar
chore(tools/DSL): reorder targets in Makefile
chore(tools/Makefile): remove dReach from tools (it's in bin now)
fix(dsolvers/ode_solver): handle a corner case where m_ode_list/m_var_list is empty

Closes #2
feat(src): create markup for theory literals to denote their precision
feat(src): move precision to theory atoms, not the literals
feat(src): integrate non-uniform delta with new completition test on delta, not epsilon
test(non_uniform_delta): add some more test instances
test(nra): bug fixes for test instances
feat(src): allow either delta or epsilon convergence tests and some new tests
feat(tools): added delta to dreach

still debugging seg fault in proof printing

Fixed bug in printing constraints with delta

Fixed bug in printing constraints with delta

fixed example for barn door

cleanup
feat(src): delta variable selection heuristic
test(non_uniform_delta): scalable barn door