Adding AsyncList to replace AsyncAgregator

AsyncAgregator is a bad idea. the iterface is messy, and it
copies the input list.

The AsyncList is way easier to work with, and inherits from AsyncValue
so it works as a blocking value in the pool.