Mostly code formating and structure changes

1. Project will follow the convention that
    - Clang Analyze should produce no warning
    - OCLint should be run and analyzed, exact policy not known yet
    - clang-format should be run on all files, a file should never
      not conform to the rules in $PROJECT_HOME/.clang-format

2. All source code as been run through clang-format. OCLint is setup
   as a build target for the project.