Refactor makefile doc target.

- "make pdf" needs texi2pdf, which is owned by texlive, but texlive is huge,
  typically several hundreds megabytes, not all users install texlive
- "make info" should just make make info, and the info documentation is enough
  in many cases.
Make mu4e modes start in emacs state (fix #334).
Fix some 'undefined function' warnings.

Using #'function (with #) causes the byte compiler to emit
warnings. We use plain symbols now where appropriate.
Merge refactoring of makefile