Refactoring to Guice
Added featureTypes to CrawljaxConfiguration
Remove redundant classes
Fix Tests
Refactoring and comments added to NearDuplicateDetection
Added precondition checks for Broder and crawlhash
Refactoring of NDD's
Merge remote-tracking branch 'origin/Guice-refactoring-ndd' into Broders-duplicate-detection

Conflicts:
	core/src/main/java/com/crawljax/core/state/NDDStateVertexFactory.java
	core/src/main/java/com/crawljax/core/state/StateVertexNDD.java
	core/src/main/java/com/crawljax/core/state/duplicatedetection/FeatureException.java
	core/src/main/java/com/crawljax/core/state/duplicatedetection/HashGeneratorFactory.java
	core/src/main/java/com/crawljax/core/state/duplicatedetection/NearDuplicateDetection.java
	core/src/main/java/com/crawljax/core/state/duplicatedetection/NearDuplicateDetectionBroder32.java
	core/src/main/java/com/crawljax/core/state/duplicatedetection/NearDuplicateDetectionCrawlHash32.java
	core/src/main/java/com/crawljax/core/state/duplicatedetection/NearDuplicateDetectionSingleton.java
	core/src/test/java/com/crawljax/core/duplicatedetection/BroderTest.java