Sean provided an excellent answer for dealing with the bug on the fatal error page.
Here, I'm just addressing the question of why the
fa class is missing. You noticed that none of CiviCRM's icons have it.
CiviCRM is different from many systems because it's subject to a wide variety of CMS themes and settings where it's installed. When we went to set up Font Awesome, the icon library used in 4.7, Coleman and I were concerned that there could be a clash between CiviCRM's implementation of Font Awesome and one potentially used by the CMS.
For example, Font Awesome 5 is coming soon, advertising all new icons. While I'd hope that the characters used for each icon would be the same in the new font, there's no guarantee that they would be: the class name is intended to be the identifier. If CiviCRM expected Font Awesome 4 and the CMS used 5, or vice-versa, using the
fa class could yield inconsitent results. We chose to use
The separate class also gives us more flexibility on custom icons. We can create new icons and tie them to the
crm-i class along with a specific icon name class, and they'll be treated the same as our off-the-shelf icons. If later versions of Font Awesome include an icon with the same name, we can safely continue as-is without messing up parts of the CMS thst might use that new icon.