Merge pull request #1 from michaelfriesen63/master

A massive line ending change, some pedantic changes.
Some serious refactoring

Refactered into multiple files and Added Interfaces for the currenly
implemented board pieces.