Fixed most of the compilation errors and warnings found when using MSVC.

- Added missing return values.
- Changed structs to class where relevant.
- Fixed the AI factory code not compilable with C++0x.
- Touched a bit the code indentation and/or presentation where it was the most terrible
  while adding return values.

This made OD compilable on MSVC, but need to be tested on linux.