Line endings are now controlled by .gitattributes, and I've normalised all files. This needs to be done sooner rather than later since without a .gitattributes file, line ending settings are controlled by individuals' machines, and will generate very confusing diffs if their setting differs from that of the file they're editing.
Removed trailing whitespace; this is git etiquette, and again can cause confusing diffs down the line.
Fixed some MSVC /W4 warnings about unused variables and copy constructors/assignment operators.
Removed some unnecessary code, and made use of the explicit keyword, just for good C++ style.
Apologies for the poor commit messages, I can reword them if necessary.
There are a few things I've done here;
Apologies for the poor commit messages, I can reword them if necessary.