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)
@diosmosis +1 to use `method_exists` 

@tsteur  you have strong idea how exceptions should be designed in Piwik. Because we want to do things the proper way across the board, maybe you can create an issue with your ideas and proposal of how we should handle exceptions the proper way?