Support variables as arguments to lager:info and friends

As long as *one* of the arguments is a literal, lager can figure out
what you're trying to do and (re)arrange the arguments as necessary.
Also allow list comps, function calls and record fields as lager arguments