mkdir on ~/.emacs.d/yasnippet if it isn't there or yasnippet barfs.
Lets not set the garbage collector settings at all.

Starts to create some rather lengthy gc cycles.
Fixup the default mode setup to be less hacky in definition.
Either my understanding of elisp is poor or setting things this way is buggy.

Probably both with emphasis on the former.