create a single output buffer that is updated for each build

This vastly simplifies build output display and reduces a lot of the
clutter involved in the process output. Now there is only one 'Build
Output[<project>]' buffer that is continually cleared and updated. It
also goes away on a successful build.
support compilers that print messages relative to the project root

This patch attempts to support compilers that print output relative to
the project root but taking advantage of expand-file-name`s second
argument. It assumes that relative directories are *not* prefixed with
a leading `/` and absolute directories are.
remove non-working growl/dbus notifications
make header-line styling a something user configurable
make error output a bit more comfortable to read