Replaces binary tree map with hashmap from c++11 stdlib
Bidirectionary seach work in progress
Calculate all possible goal states
Calculate next states in reverse
New goal check against reverseQueue
Fix possible segfault and fix memleaks reported by valgrind
Implements bidirectional search
calcNormalizedPosition position using DFS and recursion, a bit faster and
calcNormalizedPosition is the biggest bottleneck