Add defmemo

This seems easier to read (and less repetitive) than the old way. Compare:

```clojure
(def fib (memoized-fn fib [x]
           ...))
```

with:

```clojure
(defmemo fib [x]
  ...)
```