Allow doc string on def-defn

Also allows adding metadata.