Fix autoload of smex

When autoloading interactive functions, you must set the optional
`interactive` argument to non-nil. Failing to do this will fail to load
the function in many keymaps, in particular the `:mx` binding that's
defined for Evil mode later in the file.
Remove bad long-line detection code

This is already done elsewhere, and in fact,
`font-lock-set-up-width-warning` is not defined, at least on OS X.
Replace `setq` with Customized variables where possible

The initial motivation for this was that Evil did not recognize
`evil-want-C-u-scroll` with `setq` but did with `custom-set-variables`.
Fix up the other variables (everything that doesn't use `setq-local`)
while I'm at it, for consistency and the wish that I don't get bitten by
any similar bugs in the future.
Replace `setq` by `setq-local` for per-mode hooks
Highlight source code in Org files