You can now specify a custom StateVertex factory.

The hashcode and equals in the StateVertex are used in the
StateFlowGraph that Crawljax uses. This means that using a custom DOM
comparator has no use, because in the back-end, the hashcode and equals
will determine the behaviour. This commit fixes that by allowing a user
to specify a custom StateVertex factory where you can create your own
StateVertexes with custom hashcode/equals methods.

Fixes #347