fixed a bug in prelude-create-scratch-buffer

Two updates in `prelude-create-scratch-buffer`.
1. Use `funcall` to set scratch buffer major mode. In this way, users can customize their initial mode for scratch buffer. In addition, previous implementation does not get along with `global-linum-mode` somehow.
2. Simplify `(get-buffer-create (generate-new-buffer-name "*scratch*"))` with just `(generate-new-buffer "*scratch*")`