Merging IvGotAPocket's changes back into the main repo.

I expect this will break pretty much everything, but we'll have all the files in one place and be in a better place to repair things going forward.

Plus, I've never made a pull request before.  Can I even make a pull request on someone else's fork?  Let's see how this works.