fix metadata handling in `fn`

In `schema.macros/fn`, merge `&form` metadata into the metadata of `clojure.core/fn`. Added a test.
i think it ends up being opaque because it tries to be independent of the normal set of metadata keys on `s/fn` .. if i just used literals, the tests would be shorter and easier to read but they might break when the underlying implementation changes.. your thoughts?