(maint) Differentiate between re-assignment and reserved var assignment

When moving the illegal assignment check to the puppet3runtime support
for the future evaluator there was no difference between an
illegal re-assignment, and an attempt to assign to a reserved
variable name (currently only $trusted).