Everything async

This is a huge commit converting everything to async version.

It required new approach to transactions, so it is totally not compatible with sync code - adding callbacks will not help.