Color TeX Help buffer.
Fix possible infinite loop in TeX-parse-all-errors.

* tex-buf.el (TeX-warning): Preserve point when searching backward.  In
some cases this prevents infinite loops in `TeX-parse-all-errors' and
fixes wrong detection of context string.
Cater for bad boxes in error descriptions.

* tex-buf.el (TeX-parse-TeX): Use
`TeX-error-list-find-display-help'.
(TeX-error-list-find-display-help): New function.
(TeX-warning): Use `bad-box' when there is a bad box.
(TeX-warning--find-display-help): Cater for bad boxes.
(TeX-help-error): Ditto.
Simplify error finding and help displaying functions.

* tex-buf.el (TeX-parse-TeX): Use `TeX-find-display-help' in place
of `TeX-error-list-find-display-help'.
(TeX-error-list-find-display-help): Removed, replaced by more
general `TeX-find-display-help'.
(TeX-find-display-help): New function.
(TeX-error): Append nils to the `TeX-error-list' entry to make
each entry of the same lenght for both errors and warnings.
Append also `TeX-error-point'.  This fixes a bug occurring when
`TeX-display-help' is set to `expert'.  Use
`TeX-find-display-help' to display the help.
(TeX-warning): Append `TeX-error-point' to the `TeX-error-list'
entry to fix the above mentioned bug.  Use `TeX-find-display-help'
to display the help.
Better check for mgs.

* preview.el (preview-gs-command): Don't run the mgs command if
mgs is not installed.