Reactive Slick

Here's the ongoing work on Reactive Slick.

/cc @cvogt for review later
@szeiger I am not too attached to effects. They just provided a neat possibility for automatic master slave query dispatching in my prototype. In the free monad that may be better handled at runtime. Can we get the master slave dispatching back? That was a real world problem that would be awesome to "just work"? What's stopping it? Then I am totally fine with dropping effects.

My suggestion:
actions executed in a single session:
 - run (completely) master if write is involved
 - run (completely) on slave if only reads are involved
actions executed in multiple sessions:
 - apply above rules for every individual session usage

This requires users to provide 2 db configurations, one for master one for slave, if the feature should be enabled.

Optionally we could have a third vertical / configuration for DDL to allow people running those on a different user.

Unrelated: Since the monad stuff is new, how about not deprecating withSession yet in 2.2, but in 2.3 to give the Monad one experimental status cycle?