fixed style and added explicit keyword to single argument constructors

I just ran through the source files to check the style.
The only major change is that i made some of the single argument constructors explicit so that you don't accidentally create them.

I'll merge this if no one complains?