Faster, better loading

The loader has been completely re-written to handle concept data in memory as opposed to updating the DB.

Results:

```
hmda / old loader: 4035614.178 msecs (67.260 minutes)
hmda / new loader: 359172.863 msecs  ( 5.986 minutes)


(quick-bench (loader/load-dataset "integration_test"))
Evaluation count : 24 in 6 samples of 4 calls.
             Execution time mean : 25.842573 ms
    Execution time std-deviation : 757.123131 µs
   Execution time lower quantile : 24.998490 ms ( 2.5%)
   Execution time upper quantile : 26.694490 ms (97.5%)
                   Overhead used : 10.597383 ns


(quick-bench (loader2/load-dataset "integration_test"))
             Execution time mean : 9.841777 ms
    Execution time std-deviation : 337.615729 µs
   Execution time lower quantile : 9.437717 ms ( 2.5%)
   Execution time upper quantile : 10.233012 ms (97.5%)
                   Overhead used : 10.597383 ns
```