Deft mode should special mode-class

As per the Emacs major mode conventions, if a mode "is appropriate only
for specially-prepared text produced by the mode itself (rather than by
the user typing at the keyboard or by an external file), then the major
mode command symbol should have a property named `mode-class` with value
`special`..."
Update deft-strip-title-regexp

Now includes Emacs mode declarations of the form -*-mode-*- and LaTeX comments.
Remove leading and trailing whitespace from titles
Read file local variables after opening

Call hack-local-variables after loading deft-text-mode.
Add missing require statement

Deft uses the every function from cl-extra.
fix deft with saveplace
fix compilation warning
Show the old name as the default prompt when renaming a file
Calculate based on width instead of length of strings

Width of title, summary and/or modification time depends on the
characters used in them.  The GNU Emacs Lisp Reference Manual suggests
using the function `string-width` and friends when calculating the
string width for display.

http://www.gnu.org/software/emacs/manual/html_node/elisp/Width.html
Fix string-width error with empty file

Unlike length, string-width does not return 0 when nil is given.
Create a wrapper function deft-string-width to handle nil argument.

This happens when deft tries to list a file without title or summary,
ie empty file.  A backtrace is like this:

  Debugger entered--Lisp error: (wrong-type-argument stringp nil)
    string-width(nil)
    (min line-width (string-width title))