Combinations iterator, for #3989
based on code by @kmsquire
clarify ccall syntax in doc
add a few inbounds annotations to some simple functions
update doc for combinations()