fix metadata handling in `fn`

In `schema.macros/fn`, merge `&form` metadata into the metadata of `clojure.core/fn`. Added a test.
It's already merged, just a note for next time.  clojure.set is part of clojure core and probably loaded by default anyway, so I don't think it's a concern (althoguh in general we do definitely want to avoid deps in low-level libs)