Improved directory handling.

Begin using variable user-emacs-directory
Create user-emacs-directory/tmp on startup if not present