Generalize status reporting

Add flycheck-status-changed-functions to hook into all status changes of
Flycheck.
Make mode line format customizable

Do not assign flycheck-mode-line anymore.  Instead, use a standard mode
line template and let the mode line assemble the final result.

This makes the mode line format entirely customizable, and lets users
chose their very own means of reporting the Flycheck status.