add i965 primitive restart hardware support where possible

v2:
 * Only enable NV_primitive_restart for gen >= 4
 * Move function names to the beginning of lines
 * Don't include brw_context.h from brw_draw.h
 * brw_handle_primitive_restart returns GLboolean instead
   of bool
 * Only call vbo_sw_primitive_restart once in
   brw_handle_primitive_restart
 * Add comments to various functions

v1:
 * Enable NV_primitive_restart for all hardware. (Software primitive
   restart is used where necessary)
 * If hardware supports cut index and cut index can handle the
   primitive restart scenario, then use cut index to implement
   hardware support for primitive restart during the draw.
This tag has no release notes.