Added async to build and added documentation to transaction class

Also added ref method to Branch
Merge remote-tracking branch 'origin/master'