Fix double-free and deallocator mismatch.
Fix potential mem leak.
Fix out-of-bounds memory accesses.

And remove a variable-length-array usage.
Fix/improve dereference-before-null-checks.
Fix possible (unlikely) use of uninitialized value.

Plus two minor refactors/nits.
Minor refactor to broxygen enum comments.

Coverity claimed a mismatched iterator here.  Don't think it was, but
this might make it either go away or make its insane template output
understandable.  Else at least it makes the code more readable.
Minor refactor to SSL BinPAC grammer.

An unsized array already parses indefinitely.  &until($element <= 0)
just causes nonsense code to be generated.  I.e. checking a pointer that
can never even be null against <= 0.  And the compare would happen after
delete'ing the pointer, making it even odder (though still benign).
Refactor Analyzer::AddChildAnalyzer and usages.

Make feedback available regarding whether adding a child analyzer fails
because one of the same type already exists (so one can avoid invalid
pointer access of a delete'd analyzer).