Create secret GitHub gists by default.

While there change the key combination too.
ido-use-virtual-buffers and save recentf in 'var/'
Remove unnecessary `:mode' specifications

Most of the modes already add themselves to `auto-mode-alist' for their
extensions.  Remove these to keep our config simpler.  While there
shorten the regexp for `markdown-mode'.
Start using `electric-indent-mode' (since in 24.1)

Instead of mapping RET to `newline-and-indent', use electric-indent-mode
where where major modes can register their reindentation decision
functions to hook.

Like some other things in the configuration, this is Emacs 24.1 and up
only.
Measure time spent in initialization

Start logging time we spend in initialization of packages and in
general so we can start deferring some (if not all) packages.
Defer loading most package and nuke old ruby-mode

`use-package' defers the loading packages if :commands or :bind keyword
is specified otherwise library will be loaded eagerly.
Adding ':defer t' to packages which can be deferred.

While there, nuke the `ruby-mode' from MELPA which is extracted from
Ruby tree and exists solely for Emacs backward compat.
Cleanup `bdd-defuns.el' and move key bindings

- Drop 'bdd-' faux name space prefix from custom functions.
- Collocate key binding declarations and function definitions in the
same file.
- New requirement is to be able to start without `bdd-defuns.el'
Back to `whitespace-mode' and reorg some sections

`show-trailing-whitespace' was too aggressive for global usage, causing
highlighting non-editing buffers like status or results.  After all I care about
trailing spaces in the source code and alike that goes into an SCM.  Leave
highlighting trailing spaces to `whitespace-mode' and activate it only for major
modes which execute `prog-mode-hook' (new in Emacs 24).  I will eventually add
more hooks to this list.

While there, reorganize some sections.
Drop stuff related to compilation of `init.el'

I don't compile init.el.  So drop the noise.
Start using yasnippet globally

yasnippet will load the snippet files per mode when needed if enabled globally.
Install diminish, which is supported by use-package to hide the 'yas' text at
the minor modes area.

Also add a custom snippet for UTC date and time in ISO-8601.
Drop `org-babel-load-languages'
Put Tramp history file to 'var/'