async: combined handshake into one function

No need to split up init and finish into two different stages.
async: proper version negotiation in Chunk Controller