Tons of changes, changed license to GPLv3

removed platform.el and added back w32.el because it makes things
convenient, the same code should work for Windows and GNU/Linux (the
Windows version simply overrides certain settings). I reverted the silly
stuff I did with the hooks, and fixed a few of them. Lots of various
other fixes too.