Introduce bounded bulk::gather
Replace use of DeviceGather with bulk::gather