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)
There shouldn't be an HtmlException or HtmlExceptionInterface at all. You would say like "InvalidWhatsoeverException" or "MissingWhatsoeverException" but not "Html.." which defines how it is rendered etc. Especially when used in core parts such as `FrontController` or `Filechecks.php`. What if you want to reuse something of this in the console or elsewhere where you do not have HTML? In this case the class does two things. It performs for instance filechecks and it renders. Rather it should be rendered somewhere else and throw a proper exception. 

For instance FrontController could catch the exception and depending on the type of exception render different templates. Or it could forward to error to an ErrorController which renders it appropriately etc. 

BTW: `function_exists` or `method_exists` is not bad per se and might be sometimes a better idea than using an interface. I couldn't find the blog post that explains this very well but a kinda related one http://qafoo.com/blog/026_abstract_classes_vs_interfaces.html . In the end you can decouple your code a bit more, prevent some god classes etc. Of course using `function_exists` compared to an interface does not always make sense but in such a case it probably would.