Better support for concolic runs with many iterations.

- Search strategy now runs multiple passes at increasing depth limits to pick up any new traces which were added by unexpected ("missed") executions.
- Added a new "overview" trace display (and options for --concolic-output-tree) which allows better high-level visualisation of really big trees.
- Added a script to automatically generate images and build an animation of the concolic execution process.
Merge branch 'master' of github.com:cs-au-dk/Artemis
Reposition the viewport if a clickinput event wants to click on an element outside the viewport
Concolic mode now uses the -i argument to limit the number of iterations

Use -i 0 for full exploration. Default is 4.
Reduce memory usage by trace reports
Further reduce memory usage by path traces by merging similar entries together
Fix error in source file cache preventing correct caching of identical sources
Correct test to reflect new concolic iteration settings
Added page loads to concolic traces (not yet used).
Additions to mock entry point detector.
Added DOM modification notifications to the ends of traces. (Not yet used in the classifier.)
Add support for generating constraints for simple replace operations
Add very simple support for regex contraints filtering whitespace
Updated the trace classifier to include the new DOM modification and page loading nodes, and added an example to test all its cases.
Fixed bug in finding form fields after DOM modifications.

We now run an initial iteration whether we are looking to find the
entry-points automatically or not, and use this to detect the form fields on
the page.
Merge branch 'master' of github.com:cs-au-dk/Artemis
Fix to the new classifier-cases concolic test case.

There are a few other test failing, but it seems these are due to an actual bug. I will look into these tomorrow.
Add more detailed statistics to concolic mode.
Fix some issues with double-counting in the statistics.
Fix iteration count in graph output in 'final' mode