Fix error from Projectile config file search

Projectile does not return nil if in a project root.  Instead it signals
an error if not in a project root.

To prevent further issues like this, test against the real Projectile
library instead of mocking around.
Remove misleading variable declarations

Overlay categories are no variables, and should not be declared as such.
Highlight errors on top of warnings
Fix face naming

Make faces adhere to the Emacs conventions, that is, remove the trailing
`-face` from their names.  Mark the old faces `flycheck-warning-face`
and `flycheck-error-face` obsolete.
Make fringe faces customizable independently
Greatly improve the default faces

Use underlines instead of foreground faces if possible, to resemble
highlighting of modern IDEs
Merge branch 'improve-faces'

* improve-faces:
  Greatly improve the default faces
  Make fringe faces customizable independently
  Fix face naming