Clojure code improvements

1. reformatted code in some places
2. changed project.clj to AOT compile and not use bad default runtime params
3. use ^long (primitive) instead of ^Long (boxed) and ^char instead of ^Character hints
4. use ^objects instead of ^"[Ljava.lang.Object;" (same thing)
5. return nil from setters (otherwise the setters box the value to return it)

In init-trades:
1. pull trades into a local variable (faster access)
2. use loop instead of dotimes (faster)
3. use doto instead of do (prettier)
4. use faster bitwise version of odd? (matches Java code)

In perform-run:
1. pull trades into local var, calculate trades length once
2. use loop instead of dotimes
3. pass buy-cost and sell-cost along as loop vars. def is really slow and really bad form here.
4. start as bigint and remove +' (don't need it anymore)

In run:
1. added System/gc to match Java code