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...
Add an example of using the targetLocales method on arrays
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.
Fix passing sync/single variables by ref/blank intent.
Adding perf annotations for tcmalloc as default
Rework chpl_getNum{Cores,PUs}OnThisNode().

This standardizes naming, making the following changes:
  chpl_getNumCoresOnThisNode() --> chpl_getNumPhysCpusOnThisNode()
  chpl_getNumPUsOnThisNode() --> chpl_getNumLogCpusOnThisNode()

It also adds an argument to both of these, for callers to indicate
whether they want information about all the CPU resources that are
present on the node, or only the ones to which the process has access
(due to kernel affinity restrictions, etc.).

I ran the maxTaskPar test on this change with CHPL_TASKS=qthreads,
CHPL_TASKS=qthreads and CHPL_LOCALE_MODEL=numa, CHPL_TASKS=fifo,
CHPL_TASKS=massivethreads, and CHPL_TASKS=muxed.
Catching up on past 6 weeks regressions...
Remove a stray semicolon from walk.execopts

This caused testing to fail in any configurations that added additional
execution time flags... ugh.
Merge branch 'master' of github.com:chapel-lang/chapel into dist-primer-lsq
Merge pull request #425 from bradcray/filerator

Remove a stray semicolon from walk.execopts

This caused testing to fail in any configurations that added additional
execution time flags... ugh.
Renaming Tim's glob/wordexp -> my_glob/my_wordexp

When testing with --baseline, the C compiler complained because
Tim's glob()/wordexp() conflicted with those of the standard C
headers.  Since this is a standalone test for experimental
purposes, I took the easy approach of renaming his iterators
rather than adding more symbols to the reservedCSymbols list.
Change the function names again.

This time it's:
chpl_getNumPhysCpusOnThisNode() --> chpl_getNumPhysicalCpus()
chpl_getNumLogCpusOnThisNode() --> chpl_getNumLogicalCpus().
Adding exampels for the 'localSubdomain(s)' functions
Merge pull request #424 from benharsh/annotations

Adding annotations to the perf graphs for the time periods where tcmalloc was the default allocator during nightly testing.