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 ...
Add a top-level README to the Samples/ directory
Stopped treating Samples/ as special in the test system

The Samples/ directory was, historically, meant to be a set of
illustrative tests that were not tested by default; however,
as a result of not being tested, they also became stale and
disused.  Here, I'm repurposing the Samples/ directory to be
tested to keep it live, so am not having start_test skip over
it by default as it used to.  Updated documentation to reflect
this.
Merge branch 'master' of https://github.com/chapel-lang/chapel into perfTestInstructions
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
Fix callStackSize for qthreads

Previously callStackSize only checked for the qthreads environment variables
that control guard pages to determine the size of the call stacks. However, now
that we control them through the --no-stack-checks/--stack-checks options (and
other options that imply them.) It seems like a lot of work to check for the
different options and maintain precedence level and everything. Instead this
just sets QT_INFO=1. If guard pages are on the message "QTHREADS: Guard Pages
Enabled" will print. This handles all cases, including if qthreads was built
without guard pages. It hard codes the message qthreads prints, but this is no
more fragile than coding in the guard page size.
Merge pull request #301 from ronawho/qthreads-timeouts

Fix callStackSize check for qthreads

[reviewed by @bradcray]

Previously callStackSize only checked for the qthreads environment variables
that control guard pages to determine the size of the call stacks. However, we
can now control them through the --no-stack-checks/--stack-checks options (and
other options that imply them.) It seems like a lot of work to check for the
different options and maintain precedence level and everything. Instead this
just sets QT_INFO=1. If guard pages are on the message "QTHREADS: Guard Pages
Enabled" will print. This handles all cases, including if qthreads was built
without guard pages. It hard codes the message qthreads prints, but this is no
more fragile than coding in the guard page size.