Replace all instances of CRM_Core_Fatal with throw new CRM_Core_Exception
We moved to an exception framework around 4.2 ish and have been removing instances of CRM_Core_Fatal in favour of throwing exceptions slowly ever since. Exceptions are better for testing, drush commands and code predictability.
So far we have had no regressions over probably hundreds of changes on this - perhaps we should get a bit more aggressive / pro-active on this