Major rewrite.

* Underlying attribute access uses Square._x88 to generate all other attrs.

	The biggest inner loops use the x88 attr so it is faster to not have
	to compute it.

* Private variables use only one underscore.
	Speed enhancement as other 'friend' classes can have faster
	access to the x88 attr.

* Added Square.files and Square.ranks as class attribute.

	Hardcoded strings are replaced with the variables in functions and
	doc strings.

* Square.rank() returns character.

	The y attr can be better used for integer math, while the rank symbol
	is only a label and is changable.

* 0x88 changed to little-endian board.

	Actually this was discovered in unit testing. Not sure its worth the
	effort to change it back to big-endian.

* Added index property.

	Useful for client apps that would like indexing from 0 to 63.
Changed to a static class.

* Methods changed to checking color and piece class of strings.
	Speed enhancement. Avoids creating lots of Piece objects
	while generating moves.  It might good to added back the object
	creation as it could be usefull for client apps in non-speed
	critical applications.

* Added class attrs to enumerate pieces.
	Added piececlass, promote_to, pieces, castleclass,
	and castle_squares to avoid hard-coding strings.
Changed to a static class.

* Methods added for checking color and piece class of strings.
	Speed enhancement. Avoids creating lots of Piece objects
	while generating moves.  It might good to added back the object
	creation as it could be usefull for client apps in non-speed
	critical applications.

* Added class attrs to enumerate pieces.
	Added piececlass, promote_to, pieces, castleclass,
	and castle_squares to avoid hard-coding strings.
Major Rewrite.

* Added Move.from_x88
	Speed enhancement.

* Private variables use only one underscore.
	Speed enhancement as other 'friend' classes can have faster
	access to the x88 attr.

* Removed regex.
	Redundant as errors will be raised in Square initialization.

* Promote attr uses Piece.promote_to to validate.
	Replaced hardcoded strings and doc to use variable.