Prototype for String Aggregation

I gave a generalized version of https://github.com/slick/slick/issues/923 a try.

We still have a problem. Slick pulls our aggregation subqueries but the transformation only matches aggregationfunctions that do not have arguments (besides the collection they aggregate). So no providing a separator works for mkString, but extending the implementation to pass on the separator generates invalid SQL. @szeiger could you take a look at that?

We could add this to 2.1.1, if we finish it.