Fix problems with LLVM compilation

 - extern functions with by-value structures
 - extern functions with tuples
Add test case for extern record byval
Migrate #defines to static inline to work with LLVM

The LLVM backend can't handle using macros that
are complicated, so we use static inline functions
instead. One day it will work with macros...
Add skipifs for tests relying on C backend
Merge remote-tracking branch 'upstream/master' into llvm-fixes-6
Add some (debugging) asserts for LLVM
Fix problem with convertValueToType force

I had gone too far in making it more conservative...
Temporary workaround for --llvm errors about S_IRWXU

Here we just disable the error... You'll get a different
error if we try to use these.
Merge remote-tracking branch 'upstream/master' into llvm-fixes-6
back out useless change swapping if
add comments
add comments, remove extra newline at end
Do not set CHPL_REGEXP and CHPL_GMP in nightly testing.

The new speculative build will enable these when possible.
Factor llvm test script to use common-llvm.bash.
Run examples and extern/ferguson for llvm.
Create script for testing LLVM with gasnet.
Remove CHPL_REGEXP and CHPL_GMP settings for knc.

Let the speculative build figure it out instead.
Add a missing function call argument.

Oops!  Left the argument out of a call.  Add it.
Update some error messages related to var functions
Merge pull request #438 from thomasvandoren/use-default-for-gmp-re2

Do not set CHPL_REGEXP and CHPL_GMP in nightly testing.

The new speculative build will enable these when possible.

reviewed by @bradcray