Add basic elaboration context tracking to unification
Actually track applications in the elaborator wrt unification fails
Track the providence of unification errors

Unification errors can now be wrapped in a constructor specifying what
function was being applied when they were generated, where it was in the
source, and which argument of the function had a problem.
Update CHANGELOG
Use At to hold FCs
Update test for more informative error messages
Temporarily remove function argument error reflection

It needs to be done right, with the new unification info
Temporarily change back to UN to avoid strange errors
Update for new unification error messages