make client and server random available on script-level.

Patch by ewust

Addresses BIT-950
fix case where hll_error_margin could be undefined (thanks John)
Fix compiler warnings
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.
Merge remote-tracking branch 'origin/master' into topic/bernhard/ticket1072
Fix another compiler warning
Merge remote-tracking branch 'origin/master' into topic/dnthayer/compilerwarn
update hll documentation, make a few functions private and create
a new copy constructor.
and const 2 more functions
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).
Fix cmake warning about ENABLE_PERFTOOLS not being used
Fix compiler warning (time_t is not a pointer type)
Merge remote-tracking branch 'origin/master' into topic/dnthayer/compilerwarn
Add checks to avoid improper negative values use.