Tried to change singleton, but changed back to static
Added resetInstance-method to Singleton and fixes some bugs

Fixes threshold assignment bug fix

Prevent duplicate default features
Fixed HeadStripper, removed unused functionality NDD
Tests for the redundant whitespace stripper
Added getter for features
Tests for Broder's near duplicate detection
Implementation of Broder's ndd
Compatibility fixes for crawlhash and broder ndd
Improvements made to FeatureShingles.
Refactoring/improvements made to Singleton, Exception, featureSizeType
Implementation of the abstract HashGenerators

Refactores existing code to use new hashGenerators
Added tests for HashGenerators
Seperate new implementation in StateVertex from old
Add tests for to big feature sizes
Merge branch 'Broders-duplicate-detection' of https://github.com/erwinvaneyk/crawljax into Broders-duplicate-detection

Conflicts:

core/src/test/java/com/crawljax/core/duplicatedetection/CrawlHashTest.ja
va

core/src/test/java/com/crawljax/core/duplicatedetection/FeatureShingleTe
st.java
Merge branch 'Broders-duplicate-detection' of https://github.com/erwinvaneyk/crawljax into Broders-duplicate-detection

Conflicts:
	core/src/main/java/com/crawljax/core/state/StateVertexImpl.java
Conflict cleanup and fixes tests
Add vertex only if none of the vertices in the sfg is a near-duplicate of that vertex

Check if the new vertex is not equals (is not a near duplicate) to any
of the vertices in the current state-flow-graph, before inserting the
vertex in the graph.
Add the hash array of each vertex to the result.json
Inverted the distance function of broder

It returns 0 if both sets are equals and 1 if both are completely
different and values in between for the corresponding amount of
difference.
Used crawljax-formatter for duplicate detection package