i965: Reduce code duplication in handling of depth, stencil, and HiZ.

This patch consolidates duplicate code in the brw_depthbuffer and
gen7_depthbuffer state atoms.  Previously, these state atoms contained
5 chunks of code for emitting the _3DSTATE_DEPTH_BUFFER packet (3 for
Gen4-6 and 2 for Gen7).  Also a lot of logic for determining the
appropriate buffer setup was duplicated between the Gen4-6 and Gen7
functions.

This refactor splits the code into three separate functions:
brw_emit_depthbuffer(), which determines the appropriate buffer setup
in a mostly generation-independent way, brw_emit_depth_stencil_hiz(),
which emits the appropriate state packets for Gen4-6, and
gen7_emit_depth_stencil_hiz(), which emits the appropriate state
packets for Gen7.

Tested using Piglit on Gen5-7 (no regressions).

v2: Re-word some comments.  Fix an assertion that incorrectly
prohibited packed depth/stencil formats on Gen6 (these are allowed
provided that HiZ is disabled).

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Avoid spurious GCC warnings in STATIC_ASSERT() macro.

GCC 4.8 now warns about typedefs that are local to a scope and not
used anywhere within that scope.  This produces spurious warnings with
the STATIC_ASSERT() macro (which uses a typedef to provoke a compile
error in the event of an assertion failure).

This patch avoids the warning using the GCC __attribute__((unused))
syntax.
!UPSTREAM: Hacky fix for Gen5 depthstencil-render-miplevels stencil-only test.  TODO: think through, test thoroughly, and document.
De-virtualize brw_blorp_params class
i965/blorp: Convert brw_blorp_mip_info into a C struct
i965/blorp: Convert brw_blorp_surface_info into a C struct
i965/blorp: Convert brw_blorp_coord_transform_params into a C struct
i965/blorp: Convert brw_blorp_wm_push_constants into a C struct
i965/blorp: Convert more stuff to C
Convert more stuff to C
Convert brw_blorp_params into C
Convert more stuff to C
Convert brw_hiz_op_params to C
Convert brw_blorp_blit_params to C
Convert the rest of brw_blorp.h to C
!UPSTREAM: i965/blorp: Merge into brw_wm_prog.

TODO: disentangle prep work.
i965/blorp: Use gen7_push_constant_alloc
Convert to C: clean up init
Convert to C: clean up init
Convert to C: clean up init