analyse: clean up add_rigid_dcl()'s size and type check

The "count" part is not used, as size_in_words() handles valid array types and
rejects invalid ones already.
except: remove strange constant label shift from build_exn_raise_fn()

How was that not actually a constant, and also completely disused?
sequence: make seq_words an intermediate in build_decode_inline_sequence()

This adds a big TODO that's about input validation in the face of malicious
peers.
struct: declare dynamically-sized auto arrays safely

Apparently a zero size for them is hazardous. This fixes that without changing
the meaning of @names_len.
verify: prevent null pointer dereference in supported_types_only()

That'd only happen when the tree is somehow malformed, i.e. when the parser
produced an IDL_IDENT without any parent at all.
stub: add asserts & a dummy value to shut up static analysis

Out-parameters (including in-out parameters) cannot appear in messages that
have no reply half, i.e. those that're declared oneway. This is ensured by
analysis already, but apparently static analysis wants code to behave
correctly even when given incorrect inputs, so let's humour it.