Thanks to concepts, C++ can now have friends that differ by their
containing function. Because of this, we need to differentiate ones
from different instantiations. This patch implements itanium-cxx-abi
issue #24 (https://github.com/itanium-cxx-abi/cxx-abi/issues/24).
In addition to mangling the containing scope, this ALSO adds the 'F'
differentiator as proposed.
Formatting looks off here -- should clang-format the patch.