Replace <locale>.numCores with <locale>.maxTaskPar where appropriate.
Remove an extraneous space character.
Update tests that reference numCores to reflect maxTaskPar change.

A number of tests refer to <locale>.numCores.  Many do so in order to
parameterize parallelism.  Others do so in order to print information
about the testing environment.  Adjust all these to parameterize or also
print using maxTaskPar.
Initial update to licm to support hoisting wide things

Initial update is simple to stop not-hoisting wide things, and to not hoist
globals.
Add list of currently known failures
update list of regressions
update what variables we check to see if we will perform licm

Licm is not designed to handle functions that have sync or atomic variables in
them. This makes that check also look for references to atomic variables.
Update to licm for hoisting wide things

Because flattenFunctions does funky things, a variable that should be passed by
ref isn't always done so. As a result I also have to check if an argument is a
ref argument in addition to if it is passed by ref.
Update some comm counts

Update comm counts for:
 - distributions/robust/arithmetic/performance/multilocale/alloc
 - distributions/robust/arithmetic/performance/multilocale/alloc_all

This updates the comm counts for most distributions for these tests as they
improved with the updates to licm. Note that alloc_all.replicated did not seem
to change, but I didn't investigate at all.
Remote list of current failures
Clean up licm.

Now that licm has been moved before insertWideReferences, there's no reason to
check for wide things.

I also updated how to check if a variable is passed by reference and added a
better comment to it.
Update compiler perfkey order to reflect licm being moved
Update lots of comm counts for the better!
Remove accidentally added .good file
Fix a mis-coding.

I added new output lines for maxTaskPar in these tests, to go with the
existing ones for numCores, but I didn't put them under control of the
if-stmt that prevents printing them unless desired.  As a result, the
tests didn't match their .good files any more.  Fix that.
Build fewer LLVM components to speed compile

This patch significantly reduces the build
size and the build time. It omits some LLVM
and Clang components we don't use and only
builds host and x86 and x86-64 backends.

Used to take 23 minutes, now takes 18 minutes
to CHPL_LLVM=llvm time make on my machine. In
addition, llvm/build is now 8G (was 12G)
and llvm/install is now 4.6G (was 5.8G).
Removing old Samples

The Samples/ directory used to not be tested and was designed for
illustrative purposes.  It feels very stale, though, and seems like
it could be used for tests that are run for illustrative purposes,
so let's reclaim it.  Removing old samples for now.
Adding a sample test file matching the one in bestPractices/TestSystem.txt
Updating Test System documentation

The main change here was to add information about creating performance
tests to bring the major steps and common features together into one
place.

While here, I took a general wordsmithing pass over the existing text
and added mention of .bad files to the section on futures.

Made the existing (trivial) correctness test point to test/Samples/Correctness
just for completeness, even though it's ridiculous.  Over time, I think we
should add additional tests showing off different test system futures here.
Adding new sample performance test to the Samples/ directory

Also added it to GRAPHFILES (even though it won't add any useful data)
after nobody objected on chat or chapel_perf.  If we don't like this
over time, we can reconsider, or move it into misc, or ...