drm/ttm: Fix ttm_bo_wait_unreserved()

By using the wait event API and code from Linux 3.8.13

The old implementation of this function had a tendency to wrongly
go to an uninterruptible sleep state.
drm/radeon: Replace some custom code by Linux wait queues