Massively large commit where angularJS MVC was spiked and developed from.
Added missing files from previous uber commit.
Refactored chess_pieces to not rely on square. Also changed knight to not inherit directly from piece (consistent with other superclasses), fixed an unreleasised defect in en_passant.
Stripped location from pawns as it is no longer relevant.
board.py
Made it so player doesn't change until pawn is promoted.
Changed the promote piece method to not rely on the PieceFactory
Added a method to provide a player specific list of pieces a pawn can be promted to.
UI Bugfix, changed moves from tuple to named tuple.
Removed display_json and json methods
Changed output to use piece names instead of simple_symbols

chess_pieces.py
Changed peice names from white_queen format to WhiteQueen
Changed create method on PieceFactory to take in piece name instead of piece object
Made piece constructors identical in signature
Added list_all_games and list/<player_id>, and promote pawn rest calls
Added support fo promotable_pieces, winner and previous_moves
Added base images, html and css/scss
Added gitingore for DS_Store and sass-cache.
Changed the location of the games database from src to db.
Added raw image resources to etc.
Changed the location of the persistence unit test databases to tmp from src.
Added tmp/ to be ignored by commits.
Changed internal representation to use sets of moves instead of lists. Restricted moves to legal moves (one outstanding bug with testcast). Changed move notation to display captures.
Add display of board repr so test cases can be made from live games. Changed image path from image to img.
Fixed bug in _is_adjacent, causing the kings to sometimes pin each other.
Changed the chess square to be fully fledged object instead of named tuples

Also fixed a couple of bugs:
 * Pieces other than the king could castle
 * 50 move stalemate count was off
Fixed bug in checking for checkmate (king could move backwards).
Added an ~ok fix to the pickling of Square class variable (it's too highly coupled)
Moved normalize vector into Square and out of board as it it more relevant at that level.
Fixed a bug where pieces were mistakenly pinned.

A piece is only pinned if it directly between the king, and an enemy piece.
Previously a piece counted as pinned even if other pieces were also blocking.
Added app.js javascript to source control. Added new game template.