Fix navigation back after jumping by ace-jump-mode

Replace `push-mark` with `back-button-push-mark-local-and-global` so
that all the commands that call `push-mark` to preserve the current
location can also keep a history in `back-button` mode. Later we can
jump back by `back-button-global-backward`.
Fix keybinding of `ace-jump-mode`

Bind generic `ace-jump-mode` instead of `ace-jump-word-mode` so that we
can use prefix C-u to switch between modes.
Don't copy org exported content to the kill ring
Bind RET to paredit-newline in lisp and elisp mode

It is convenient to indent s-expression when typing enter.
org-reveal: save buffer before export to html

* Add `org-reveal-save-then-export` so that the buffer can be saved
  before export to html.
* Remove customization variables. It is better to customize them in org
  files.
* Fix org-reveal export options is not available in org export ui due to
  the delayed package loading caused by :bind keyword.
Highlight trailing whitespaces only in file buffer

* Move whitespace settings to aethanyc-ui.el
* Temporary buffers generated by functions often have whitespaces to
  format the layout such as org-mode's export ui. Do not highlight
  whitespaces in them.
Change package `back-button` to submodule

The trick to add subdirectories to load-path was from EmacsWiki.
htttp://www.emacswiki.org/emacs/LoadPath
Change keyfreq file paths