nv50/ir: add support for barriers

nv50 part by Francisco Jerez.
nv50/ir: don't assert on type in Modifier.applyTo if it is 0
nv50/ir/opt: try to make use of SUCLAMP addend
nv50/ir/tgsi: Exclude local declarations from function prototypes.
nv50/ir/ssa: add a few comments regarding RenamePass
nv50/ir: print function inputs and outputs
nv50/ir: fix size adjustment for sched info for multiple functions
nvc0/ir: use large issue delay after RET, too
nvc0/ir: skip back edges when determining latest sched value
nv50/ir: implement splitting of 64 bit ops after RA
nv50/ir: add support for different sampler and resource index on nve4

And remove non-working code for indirect sampler/resource selection.
Will be added back later.

Includes code from "nv50/ir/tgsi: Resource indirect indexing" by
Francisco Jerez (when mixing the R and S handles we can only specify
them via a register, i.e. indirectly, unless we upload all the used
handle combinations to c[] space, which we don't for now).
nv50,nvc0: copy writable flag on surface creation
nouveau: align PIPE_BIND_SHADER,COMPUTE_RESOURCEs to 256 bytes
nvc0: add SHADER/COMPUTE_RESOURCE bind flags to format table
nvc0: implement compute support for nve4
nvc0: they removed the NTID,NCTAID,GRIDID registers on nve4
gallium/tests: check format in compute tests, make selectable
nvc0: add MP trap handler for nve4