This includes all the changes made in the logging branch.

They were all bundled into one to make the Git histories the same because
GitHub won't let me merge and I'm too much of a git noob to know how to do it
the right way this time around.

Signed-off-by: REALDrummer <conman.davey@gmail.com>