Propagating line numbers before macroexpansion is retarded.

Also causes us to hit a crashing bug for fn preconditions, somehow.
We pass around a function object (rather than a symbol) in wrapm,
which is stupid enough, but apparently when we add meta to that object
*and* only in the case of instrumenting preconditions (why?!) we hit
https://groups.google.com/forum/#!msg/clojure/BZwinR2zNgU/FIsd-QhxmO0J

I don't understand what exactly goes wrong right now, but a fix is a fix.
Actually, never add metadata to a function object.

See previous commit for explanation and rant.
Stop putting function objects in macros. Instead carry a var around.

This means we can now print out our macro and it might read right back!
Update TODO.