Added package control code, don't track packages.

Emacs 24 comes with a native package manager. In this commit I'm adding
the Marmalade repository to the default repository, and setting it up
to autoload all of the packages I've installed.

Packages installed from repositories will not be tracked here, however.
They will just be assumed to be in working order.
Adds function to install uninstalled packages.

In the init.el file there is now a variable that has a list called
`keep-installed`. At startup, emacs will check if all of these
packages are installed. If any of them are missing, the user will be
prompted to install them.

This code may not be sensitive to versions of these package (I'm not
sure exactly how emacs's package managment controls versions) so if
future research shows this not to be safe, this code could use some
refactoring.
Added a file for keybindings.

Also added a simple way to switch windows:

    C-o       ->   'other window

Also added a simple way to do magit status:

    C-x C-g   ->   'magit-status
Change magit's colors to something sensible.

The diff will now be readable instead of nearly invisible.
Adding ESS
Added ESS.

This is not added as a submodule for now, because I had trouble making
it work that way.

In the future it might be worth looking in to installing this as
either a package or a submodule.