fixing #408
fixing #397 again.
fix for #381 squashed/cleaned.
Merge pull request #409 from crawljax/fix408

fixing #408
Merge pull request #410 from crawljax/fix381cleaned

fix for #381 squashed and cleaned.
Merge pull request #411 from crawljax/fix397

fix for  #397
Merge remote-tracking branch 'origin/master' into crawljax-4.0
ValidDomStrippers being ignored.

Regular DomStrippers now use the result from the ValidDomStrippers.
Merge pull request #415 from ivan-p92/crawljax-4.0

Fix for #414
Added DOM diff view to CrawlOverview plugin

Added a new tab "DOM diff" to the CrawlOverview's state
page. Standard behaviour is to show diff from current state
with previously visited state, but users can select other files
to compare as well.

It is mostly client side, using some js libs and html5 localStorage
and fileReader. Works in all browsers with html5 support.

Changes to Java / templates:
- Added option to CrawlOverview to persist stripped DOM instead
  of full DOM.
- Added html and context code to state.html, header.html and
  StateWriter.java
Merge pull request #418 from ivan-p92/overview-diff-viewer

DOM diff view in CrawlOverview
Added source and target states in CrawlOverview

Source and target states can now be shown in the CrawlOverview.
The state summary table displays a link next to the fan-in/-out
number to show all source/target states (if any).

The states are clickable, so this makes it especially easier to
diff against incoming states.

I modified some of the core classes: one typo and added a method
to get incoming states (in addition to the already existing outgoing
states).

Note: the states are shown ordered by name.
Buttons instead of anchors

The "Show states" and "Reload diff" links are now buttons.
Added "Swap diff" button

As the name of the button says, when clicked, swaps the two files
being diff'd.
Better sorting for fan-in/out & removed swap

- States for the fan-in/out overviews are now sorted by their id,
  fixing the problem that `Collections.sort()` uses total ordering.
- Also removed diff swap function. Not very useful and can lead to
  confusing diffs when going to other states after swapping.
Merge pull request #420 from ivan-p92/overview-diff-viewer

Source / target states in CrawlOverview
Adds a gauge for number of states with candidates

The gauge simply calls statesWithCandidates.size(), so if used sanely,
should not lead to any problems.
Merge pull request #423 from ivan-p92/states-with-candidates-gauge

Gauge for number of states with candidates
Tests for isNearDuplicate method
Fix tests