Consolidate 'formatoptions' and support reformatting list items.

'formatoptions' is now set by a common set of functions (SetupCommon(),
SetupText(), and SetupSource()), and used by all derived filetypes.

The 'formatoptions' setting now includes 'n' so that Vim will properly
treat list items when reformatting via "gq".
Prevent Vim from reformatting underlined headers.