ModInts: add coprimality check to inv

Ref 01baa5b3d5f9139b5ebd7a8a03dd35dcf7259bcc
test/examples: simple tests of inv(::ModInt)
Make sure we always write the sysimg variables to the right module

To maintain compatibility between the MCJIT and non-MCJIT versions,
jl_Module is #defined to the current module of the function builder.
However, this also means that if we're not currently emitting a
function asking for this module is like a game of Russian roulette,
hoping that the last basic block we emitted into happens to be the
right one. This is not super unlikely since while building the
system image we always emit into the shadow module, but we sometimes
(in particular after an unreachable) emit into a BB not associated
with any module. In any case, it's amazing that this has worked for
this long.

Hopefully fixes #8532
Fixes #8573. Fix herk- and syrk_wrapper when matrix has a zero dimension.
Add some tests for zero dimensional matrix multiplication in herk- and syrk_wrapper
Clarify code loading and module scope in parallel computing

See http://stackoverflow.com/questions/26168943/module-loading-with-multiple-processes/26191638#26191638
make it trivial for everyone to build the helpdb.jl file
improve documentation for takebuf behavior (#8575)
add julia-env to deps/.gitignore
fix #8576
Doc: Fix codeblock formatting errors in parallel computing section
Doc: proper cross-referencing of ClusterManagers
Doc: Clean up description of op in manage
Doc: fix whitespace so that lists are formatted correctly in parallel computing section
ModInts example: use invmod instead of gcdx

Ref: 331eb3f
Loosen signature for some matmul functions as a prepartion for array views.