Implement the new choking algorithm. Still some loose ends, but client works.