drm/i915: Add hardware context support

This feature is required starting with Mesa 9.2.

i915_gem_context.c is taken from Linux 3.8.13. The Linux compat layer
from ofed is used to keep the diff with the original file very small.
That's why many files are modified.
Add "options OFED" to GENERIC (WIP)

i915 starts to use ofed's Linux compatibility headers. We need a better
solution than adding the option explicitely.