Fixed build system for aterm files (should have been caught by Jenkins last 10 days ago).
Added termpretty.l++ program (lex file generating c++ code) to output formatted aterms.
Merge remote-tracking branch 'origin/master' into HEAD
Merge remote branch 'rc/master' into m68k
(Binary Analysis) Can control colors in GraphViz output
(Sawyer) Fixed return type for DistinctList<>::size
(Binary Analysis) Removed old debugging code
(Binary Analysis) More tweaks to partitioner2 graphviz output

* Control over incoming neighbors vs outgoing neighbors

* href attributes for graphviz nodes

* more documentation

* bROwSE tool uses GraphViz class instead of custom traversal
(Binary Analysis) Fixed small bug in may-return analysis

The call-return edges were not being seen because a
previous "if" condition was matching.
(Binary Analysis) Tweaks to the order that blocks are discovered

The partitioner is slightly more efficient if it can discover basic
blocks in depth-first order since many of the analysis phases are
also depth-first.

The may-return worklist is sorted in reverse depth-first order
but this code is currently disabled because it causes the partitioner
to be about 10x slower (optimized) than with the naive approach.
(Binary Analysis) Fixed linking error
(Binary Analysis) Partitioner2 CFG edges have confidence levels

This is so we can tell the difference between call-return edges
that were added by definitions or proof-based methods from call-return
edges that were added by guessing.
(Binary Analysis) More special cases for may-return by definition

These cases are to help speed up the analysis by deciding on a
may-return analysis result earlier in the process rather than
later. They assume that certain types of CFG connectivity are
unlikely to change, such as a basic block whose address is not
available, or a basic block whose only successor is indeterminate.
(Binary Analysis) New function columns in bROwSE tool

New columns in the function index to show may-return and
stack delta analysis results.
(Binary Analysis) Speed improvements for adding call-ret edges

Use three lists of basic blocks that might need a call-return edge
to be added so that we can delay sorting the final list as long
as possible and therefore do it in as large a batch as possible. The
main effective change is that may-return analysis is performed at
most twice per basic block, but the results seem to be just as
good as the slower method where I've compared them.