Don't initialize smex til it loads, fix recentf

My home directory doesn't end in a /, apparently, so I was getting
filenames like ~init.el instead of ~/init.el