Implement promote-fn

Promotes a `#()` to a `(fn [])` and a `(fn [])` to a `(defn ..)`.  With a prefix
argument it will promote a `#()` all the way to a `(defn ..)`

There's only one test because ecukes doesn't allow `%` in the spec files.