Merge pull request #8 from vaibhavbsharma/master

Fixes needed for FuzzBALL to run sshd
Add a -branch-preference-unchecked option

Like -branch-preference, but doesn't even check whether the
branch direction is feasible. This is rather unsafe, but it was
easy to implement. It would also be nice to have a version that
checked whether the requested direction was feasible, but did not
check its inverse: but I think that would require more complicated
decision tree changes.
Add Z3 support as an SMT-LIB2 external solver
Treat sign extension as indicating an offset in address heur.
Put a size limit on the tables cache

Currently hard-coded at a fairly large setting.
Without this, programs with large numbers of large tables can use
unbounded memory. The way the limit is currently implemented
prefers small tables over large, though in a way that does not
correspond to any fixed total cache size.
Also add statistics on the table caches to -gc-stats.
Save EIPs in the decision tree

They're not used for anything explicitly at the moment, and their
presence arguably muddles the abstractions. But I think they will be
useful for tying the decision tree to the program for understanding,
and in particular for debugging situations where the decision tree
gets out of sync due to path determinism failures.
Add more informative message on DT EIP mismatch

Print the old and new EIP values when there's supposed to have only
been one, since that would often be the first debugging step anyway.
Update VCG decision-tree visualization script with EIPs

Also, leave out heuristic values when they're default (not used)