Interface changed for OOMPolicy

In case of non-coalesced requests, it could happen that one thread did not get memory while the others did. This was not recognized by the policy until now.
Old behavior: OOM is defined as the state where no participating thread in the warp got any memory (this did work for coalesced access and non-coalesced cases where the whole warp behaves the same).

New behavior: OOM is defined as the state where a thread actually tried to get memory (size != 0), but did get NULL from the allocator. This should always work.