Revert changes to alloc.replicated.good

This were unrelated to licm, and have been regressing for a while. I just
blindly copied the results without looking at them before.
Merge branch 'master' of https://github.com/chapel-lang/chapel into perfTestInstructions
Updated comm counts for alloc.cyclic.good

I copied the wrong results before, and more importantly I overrode some real
regressions. licm only changed the get count for this test, and the
fork/fork_nb differences are prior regressions
Merge pull request #293 from ronawho/licm-hoist-wide

Update licm to hoist wide variables

[reviewed by @sungeunchoi]

In what is probably my largest blunder to date, licm never hoisted wide
variables which meant it didn't help --no-local, gasnet, numa, etc.

I haven't come up with a great explanation for why we explicitly didn't hoist
wide things before, however we do now! When Michael gave his presentation on
his remote cache, I was curious as to why licm wasn't helping things, and why
we were doing so many comm calls for things that licm should have helped with.
That was my motivation for originally looking into this.

To hoist wide variables, this rips out the couple of lines that checked for
wide things and fixes a few latent bugs.

bugs in licm that prevented this from just working were:
 - globals were still being hoisted in some cases (other checks missed them)

 - licm does not operate on functions with atomics or syncs/singles
    - However we were only checking for those types, and not checking if the
      function contained references of those types.

 - A particularly tricky one is that variables that are passed by ref are not
   always identified as being passed by ref and instead have in intent for a
   ref variable. This is because of a latent bug in the compiler that has been
   documented. I made a pivotal item to address it and added a note in LICM.
   For now the workaround is to assume all arguments that have a ref type are
   passed by ref and check the type as well as the intent.

In order to check for ref arguments, I moved licm up (so that I didn't have go
through the maze of finding the actual argument through it's wide type.) Doing
so also allows me to remove all the special code checking for wide things

As a result of this there are several tests with substantial comm count
improvements. Note that there should be many more tests that are affected by
this change, but it's already known that licm isn't effective with bounds
checks, and these particular tests happened to through --fast.
Add a couple of string tests that use string in begin and on statements.
Merge pull request #296 from sungeunchoi/test

Add a couple of string tests that use string in begin and on statements.
Allow the mppdepth setting to be omitted in launchcmd script.

When CHPL_PBSPRO_NO_MPPDEPTH is set in the environment, the mppdepth argument
will be omitted when calling qsub.
Merge branch 'master' of github.com:chapel-lang/chapel into pbs-launchcmd-fix
Add comment explaining special case in launchcmd script.

per review by @ronawho
Merge pull request #297 from thomasvandoren/pbs-launchcmd-fix

Allow the mppdepth setting to be omitted in launchcmd script.

When CHPL_PBSPRO_NO_MPPDEPTH is set in the environment, the mppdepth argument
will be omitted when calling qsub.

reviewed by @ronawho
Switch tasks intents over to the new with syntax

The old syntax has been left in, but will display a warning when it is
used.
Update our tests to the new task intent syntax
Merge pull request #298 from Kyle-B/task-intent-syntax

This pull request adds support for the new task intent syntax to the compiler.
eg: `begin ref(x) foo(x);` --> `begin with (ref x) foo(x);`

All occurrences of the old syntax in the repository have been replaced.

The old syntax has been left in the compiler, but will display a warning when it is used.
Merge pull request #295 from bradcray/perfTestInstructions

Add best practices instructions for creating performance tests

The main goal here was to create a performance test by updating the
bestPractices/TestSystem.txt to go through the steps required to
create a minimal interesting performance test with graph.  While
editing that file, I also did some wordsmithing to the previous
version and added information about .bad files for .futures.

In documenting this, I ended up creating a performance test to make
sure I had everything right, and then realized that putting this into
the test/ system for other developers to see (rather than only having
it be in the .txt file) would be valuable, so I added
Samples/Performance/ as a place to capture it.  I created Chapel and C
versions since that is a common and interesting idiom and I made a
.graph file for them, even though they plot completely bogus (and
static data).  I added it to GRAPHFILES so that we could make sure it
didn't break over time after nobody objected on the perf mailing list
or Cray chatroom.

Sung pointed out that the Samples/ directory has traditionally been
treated specially in start_test (it skipped over it, unless you asked
it not to), and as a result, Samples/ was very stale and not helpful.
So I blew away the existing Samples/ directory, and added the
(trivial) correctness test sample that was in the TestSystem.txt file
in a Correctness/ subdirectory.  Over time, I think it would be great
to document other aspects of the test system in TestSystem.txt and
illustrate them in the Samples/ directory but didn't want to get
pulled into that today.

So then I stopped having start_test treat Samples/ directory and
updated README.dirs in test/ to reflect that it's not so special
anymore.
disable qthreads internal spinlocks for pgi/PrgEnv-pgi

pgi doesn't support the proper atomic intrinsics that are required for
spinlocks to be fast, so disable them for pgi, and PrgEnv-pgi
Updating README and testReleaseHelp to include 'rehash' for csh users

Sadly, csh users who set their environment first and build second (as
we now require in the quickstart world) need to do a rehash in order
to update their path to see 'chpl'.  Added a step for them in the README
and updated the testReleaseHelp script to do the same thing.
Merge pull request #300 from bradcray/fixCshQuickStartWithRehash

Updating README and testReleaseHelp to include 'rehash' for csh users

[not reviewed, though concept approved by hilde, tvandoren]

Sadly, csh users who set their environment first and build second (as
we now require in the quickstart world) need to do a rehash in order
to update their path to see 'chpl'.  Added a step for them in the README
and updated the testReleaseHelp script to do the same thing.
look for substring pgi in target_compiler instead of explicit match

Greg suggested doing this to make it more robust against future compiler name
changes and that it makes it easier to read (both of which I agree with)
Merge pull request #299 from ronawho/qthreads-timeouts

disable qthreads internal spinlocks for pgi/PrgEnv-pgi

[reviewed by @gbtitus]

pgi doesn't support the proper atomic intrinsics that are required for
spinlocks to be fast, so disable them for pgi, and PrgEnv-pgi
First stab at a directory-specific walker