0.21 Update

Yeah, I think I'm finally pass the dying slug stage of understanding github.

This contains all my changes for 0.21, just throw a quick look a them with Audax, (I've done it myself, but I might of missed something) and then send me a message with any errors or omissions, I should have the complete changelog ready by then.

Oh and sorry for the mega commit, I discovered the 'git commit --patch' command after pushing it.

I tried to put empty lines at the end of each file, but I have the impression some of them erased themselves.. So you might have to add them back for two or three files.