Fixing issue #126 with Leiningen 2.5.0 due to auto-cleaning of targets

Fixing issue #126 with Leiningen 2.5.0 due to auto-cleaning of targets being the default behaviour and thus wiping the auto-compiled main class before packing.

With this fix the auto-clean, if not set to false in project.clj, is made before compile-main.
Okay, that makes sense. The settings in the default uberjar profile are overriding the settings added directly to the project map.

If you factor this code out into a function, you can make the `let` form a little clearer. e.g.

```clojure
(defn no-uberjar-clean [project]
  (vary-meta project assoc-in [:profiles :uberjar :auto-clean] false))

...

(let [project (-> project add-server-dep no-uberjar-clean jar/add-main-class)]
```