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
fixing #406
rethrowing the error without hiding.
Merge pull request #412 from crawljax/fix406

Fix for #406
Preparing the 4.0 branch
Removed the deprecated DomNotifier plugin
Removed deprecated `getDom` method
Removed unused configurations

The configurations were not used anywhere in the project. Removing
them...
Removed all Oracle comparators

This commit removes all references to Oracle comparaters. They are
removed because:

1. They do not adhere to the plug-in architecture.
2. They are not configurable enough
3. They were not used consistently throughout the application
4. They weren't thread safe
Implemented the new DOM strippers

The idea is that you define zero or more of these strippers. They do not
have to produce a valid DOM, but they're there so you can influence how
DOMs are compared. StateVertexes are compared on the equals function of
these stripped doms so the more alike you make them, the less states
you'll have at the end of your crawl.
Refactored out filtered attributes and the old filter mechanism.

Also deleted test utils since they're not used and placed weirdly in
their own package. The only method that was used has now moved to core.
That can be refactored later.

Also fixex iFrame crawling. iFrame crawling is now option. Also updated the candidate elemen
extractor to not crawl any elements anymore when this configuration is
disabled.
Tests for isNearDuplicate method
Fix tests
Move files
Interface for Near-Duplicate detection libs

and dependency for xxhashing, which will be used to hash features.