Initial Code Upload.
Merge pull request #1 from SparkyCoder/david

Initial Code Upload.
Refactored the SinglePageApp, Query, and Repository. They should all impliment interfaces correctly. Also did some refactoring for seperation of concerns. This made tests flow better and I could make better use of FakeItEasy.
Merge pull request #3 from SparkyCoder/david

Refactored the SinglePageApp, Query, and Repository. They should all imp...