nv50/ir: fix PFETCH and add RDSV to get VSTRIDE for GPs
nv50/ir: delay calculation of indirect addresses

Instead of emitting an SHL 4 io an address register on the TGSI ARL and UARL
instructions, emit the shift when the loaded address is actually used.  This
is necessary because input vertex and attribute indices in geometry shaders on
nv50 need to be shifted left by 2 instead of 4.
nv50/ir: v2 of delay calculation of indirect addresses
nv50: add support for geometry shaders

Layer output probably doesn't work yet, but other than that everything seems
to be working.
nv50: v2 of add support for geometry shaders
MERGE fix handlePFETCH

Can't use getImmediate when not in SSA mode.

Don't shift the immediate value in PFETCH depending on whether we
use direct or indirect addressing, we will do the shift in the CodeEmitter.
XXX nv50: this seems to break non-gs stuff, disable
nv50: allow vert_count to be >255
nv50: disallow predicates on emit/restart ops
nv50: treat emit and restart the same way