Use exceptions instead of calls to Piwik_ExitWithMessage

As title. Also includes refactoring Piwik_ExitWithMessage so no echo-ing or exit-ing is done by the function (function is renamed). Includes modification to Log.php so it will work even if config is empty. Finally, includes event that allows modification of error page contents.

Thoughts and reviews are welcome (cc @mattab @mnapoli @tsteur ).

Tests I did:

* check config.php exceptions result in correct error page
* Filechecks.php (check changed code results in same behavior)
* FrontController::init() (check changed code results in same behavior)
* Log succeeds when no config available.
* Controller.php (check changed code results in same behavior)
* minimum php version warning (check error message displayed the same)
* CorePluginsAdmin controller (check changed code results in same behavior)
* installation (check works)
An interface seems like the perfect use case then. Testing that the method exist is exactly like having an interface, except there is much less potential for messing up later.

What about an empty `HtmlExceptionInterface` that can be implemented by any class without adding any method: it just signals that `getMessage()` returns an HTML message?