Improve test framework.
Merge new client to master.
Merge master into 127.
Merge branch '127' into 149