v2.3: Beatify the output of the solution

Added Python 2.6/2.7 support. Now KS runs with v2.6+

-- TODO: Integrate with Kivy, which supports only 2.x
-- Used print_function from __future__
-- Removed the parameter type specification.
-- Rewrite HRBoard.output() to generate multi-step line outputs

Added HRSolution class

Added two layouts for tests

Reduced #node from ~23000 to ~11000 by eliminating symmetric layouts

HRBoard.unordered_hash() now returns two hash_codes. Original unordered hash code  and a 'mirrored' one.

Now the running time is reduced to 7.760s from ~14s

Reduced the running time by ~0.3s (from ~5.3s)

Reduced the running time by ~0.3s an ~0.1s from (0.6s and 0.2s) respectively (Now total running time sits at ~13.5s)
v2.4:  Further Beatified the output of the solution  and did some clean-ups

Beatify the output of the solution

Added Python 2.6/2.7 support. Now KS runs with v2.6+

-- TODO: Integrate with Kivy, which supports only 2.x
-- Used print_function from __future__
-- Removed the parameter type specification.
-- Rewrite HRBoard.output() to generate multi-step line outputs

Added HRSolution class

Added two layouts for tests

Reduced #node from ~23000 to ~11000 by eliminating symmetric layouts

HRBoard.unordered_hash() now returns two hash_codes. Original unordered hash code  and a 'mirrored' one.

Now the running time is reduced to 7.760s from ~14s

Reduced the running time by ~0.3s (from ~5.3s)

Reduced the running time by ~0.3s an ~0.1s from (0.6s and 0.2s) respectively (Now total running time sits at ~13.5s)