Implemented progress consumer.
Improved equals implementation.
Implemented forward and backward pass crawling.
Added puzzle unit tests.