Refactored the src folder outside astar folder.

NPuzzle implementation should be independent of the solver.
Added initial implementation of flat puzzle structure.