changed the shifting bit-blasting to potentially be more efficient
Theory of strings.

Signed-off-by: Morgan Deters <mdeters@cs.nyu.edu>
fix bug 534: portfolio define-fun duplicate model
Merge branch 'master' of https://github.com/CVC4/CVC4
Documentation fixes, some code typo fixes, file perms, other minor things.
Move some regress benchmarks around that took too long, other test cleanup.
Fix sat_proof "parentheses into the void" after conferring with Liana.
Change default option of simple ite lifting within quantifier bodies.  add some debug messages.
Fix (extraneous) command dumping.
Fixes to theoryof-mode; no longer static in Theory class.
Support for bv2nat/int2bv in parser and BV rewriter.
Support a personal build configuration and make rules.
Fix for bug 528
Cleaner version of bug-fix for 528, also moved substitutions.h out of theory.h
for faster compilation
Revert Clark's last commit, at his request; there are some bugs.

This reverts commit 9775bced75843c6f01e9524c2d0e7021535e3ec0.
adds model generation for strings, and a hacked way in arith engine for models
optimizing model generation for strings
fix loop detection for multi-vars
Better fix for bug 528
Reduce compiler dependencies on substitutions.h,
Some new functionality in substitutions.h/cpp