Fixes project to conform to StyleCop rules

This commit does several things.

 1. Adds xml documentation
 2. Fixes braces, usings and naming conventions
 3. Places classes in the correct respective namespaces.

I am aware that this breaks the layout of public methods and I know it's a big ask. 

I believe this is better for allowing further extension of the project and since it is still an early pre-release I think it is acceptable at this juncture.