Make intrinsic parameter errors in CallExp::toElem() fatal.

Returning null will crash just about any other glue layer code.

Ideally, we'd catch those during semantic analysis (glue layer
errors are always to be avoided due to speculative compilation),
but this at least avoids the segfaults.
Reject non-integer atomic load/store during codegen.

This avoids hitting an LLVM assert during codegen.
Fix atomic{Load, Store}() for struct types.

GitHub: Fixes #616.
Merge pull request #619 from klickverbot/core-atomic-struct

Fix atomic{Load, Store}() for struct types.