Added async piece choosing logic
and async peer unchoking logic