Removed redundant __init__ calls.
Added possible_moves abstract method and documentation for pieces.