Align :use better and added fancy-narrow

enable modes to define fancy-narrow behaviour
fancy-narrow-to-defun on entry to insert mode in lisp
fancy-widen on exit from insert mode in lisp