CLJS-544: named fn self reference lexical scope issue

named fns were passing along raw names instead of the name var map
which includes shadowing information. this meant that during
emission the name of the fn would not match the name that would be
emitted inside for self reference.

We now construct the name var map and set the :name field of the
fn AST appropriately.