Fix +/-command ‘stuck key’ problem.

The validation was dependent on something which could change between
queueing and execution of the commands.
Fix /passvote & /cancelvote regarding quorum.
Fix default address mask for IPv6.
Optimise & fix R_DisplaceMap.

Its 0 → 1 conversion was wrong; dropped.

Also, the output array is the same array as the input array; cheap
optimisation opportunities there.
renderer: replace texture (0…255)↔(-1…+1) conversions with macros.

In some cases, this changes the calculations a little. This is probably a
good thing, regarding accuracy.
rendererGL/tr_image.c: lift as much calculation out of loops as is practical
Replace roundf() with addition of 0.5. Effect is the same.
Make vertex attribute arrays depend on the actual vbo format
Avoid redundant glVertexAttribPointer calls
Abstract vbo/ibo layouts away from code outside tr_vbo.c
Don't store unused vertex attribute components in static vbos
Use glDrawRangeElements instead of glDrawElements

A minor speed increase was measured when doing so
Correct bsp sub model vbo calculation

Previous implementation would erroneously combine surfaces with different lightmaps
This had the effect of dramatically increasing the total size of our vbos
On key-up, also clear sticky state for the ‘released’ button.

Key-down no longer matters regarding key-up events.
Fix "Bad surface tesselated" in release builds (issue #247)

Introduced in ioq3ztm r291, it's a bug in ET source code.

gen isn't pointing to a srfGeneric_t if not SF_TRIANGLES, SF_GRID, or SF_FOLIAGE.
Writting to it causes unknown memory to be overwritten.

[Issue no. fixed for Unv]
Reset frames and frameTimes upon switching animations

A side effect of this fix is that an MD5LerpFrame function is no longer necessary.
Build oldSkeleton before resetting frames
Split out individual upgrade selling.
Move the sell code before the buy code.
“sell armour” to sell light armour, helmet, battlesuit.

Also recognise “armor”.