!UPSTREAM: make stuff safe to include from C++

TODO:
- Split
i965: Stop including brw_vs.h from brw_vec4.h

This is backwards from what we are going to want in the long term, which is:

- brw_vec4.h declares general-purpose vec4 infrastructure needed by
  both VS and GS
- brw_vs.h includes brw_vec4.h and adds VS-specific parts.
- brw_gs.h includes brw_vec4.h and adds GS-specific parts.

Note that at the moment brw_vec.h contains a fair amount of
VS-specific declarations--I plan to address that in a later patch.
WIP: i965: Add an opcode for doing a URB write with an offset from a register (needed for GS).
Add brw->geometry_program
Add GS_OPCODE_THREAD_END
Add GS_OPCODE_SET_WRITE_OFFSET
Add GS_OPCODE_SET_VERTEX_COUNT
WIP: add GS visitors
Make some files safe to include from C
i965: Make prim_to_hw_prim accessible outside brw_draw.c.

We will need access to this array in order to configure the geometry
shader.
i965/gs(gen7.5): Set max_gs_threads correctly
WIP: make the state atom for compiling Gen7 geometry shaders.  TODO: maybe disentangle
!UPSTREAM: Generalize some error messages for GS.

TODO: find more places to generalize.
TODO: Don't use "VS/GS" terminology.  Use "vec4" terminology, since that will endure longer.
i965/gs(gen7): Allocate URB space for use by geometry shader
!UPSTREAM: i965/gs(gen7): Allocate push constant space
i965/vs: generalize push const upload in preparation for GS
i965/gs: set up GS state
!UPSTREAM: turn on GS, and mark GS stuff as untested for safety
!UPSTREAM: allow GS through
!UPSTREAM: write out cut bits

Stuff that needs fixing:
- Not yet configuring 3DSTATE_GS to indicate that cut bits are present
- Not handling >31 output vertices correctly
- Don't know if I have an off-by-1 error
- Probably should pack vertex_count and cut_bits into a single register
- Code should be conditioned on whether the shader uses EndPrimitive()
- At end of thread, shouldn't do the write if vertex_count is a multiple of 32
- At end of thread, should write to the appropriate DWORD
- At EmitVertex time, should write cut bits if vertex_counter%32 == 31