Add support for standalone parallel iterators

When a forall loop is parsed, it is translated into a call to the leader and
follower iterators, approximately:

for block in iter(leader) {
  for i in iter(follower, block) {
    body;
  }
}

For standalone iterators, we don't want this nested loop.  To accomplish this,i
I added a condition with a chpl__tryToken.  Now unzippered forall loops are
built as:

if chpl__tryToken {
  for i in iter(standalone) {
    body;
  }
} else {
  for block in iter(leader) {
    for i in iter(follower, block) {
      body;
    }
  }
}

This way, if a standalone parallel iterator exists and can be used, it will be
chosen and the leader-follower case will be folded out during resolution.  If
the standalone iterator does not exist, the standalone side will be removed and
the leader-follower branch will be used.  For the most part standalone
parallel iteration is treated the same as the leader case throughout the rest
of the compiler.  One main exception is that forall intents are not yet
implemented on the standalone side.

A simple standalone iterator is defined in the test
standaloneParallelIter.chpl.  It uses a coforall to generate parallelism
and define blocks and iterates over the blocks yielding individual elements.
It also defines a leader and follower iterator to verify the standalone
iterator is chosen over them and that zippered iteration still calls the
leader/followers.  Finally it uses a for loop that results in a serial
iterator getting called.

Tested on the full suite for standard linux64
Add tag generation for the module code

Adds ctag support for chapel via the --regex and --lang[def|map] options
and uses it to generate tag files for our module code. `ctags -e` is now
used to generate the emacs format for compatibility with these options.

Also consolidated a few rules in the .gitignore for tag files, we now
generally ignore any tags or TAGS file.
Remove type declarations from Chapel tags

While it might be nice to have type declarations in the tags, we tend
to use them as variables in quite a few places and this leads to many
duplicate tags.
Add a new chpltags utility

chpltags wraps both Exuberant Ctags and etags, allowing for the creation
of both emacs and vi compatible tag files for Chapel code. This new
script is now being used to create the tag file for the modules. The
ctags.chapel file that was being used previously has been removed
Merged chapel-lang/master into standaloneParallelIterators

There were a few conflicts that needed to be cleaned up in build.cpp.
Tested with comm-gasnet.
Improve the chpltags help message

Improved the chpltags help message based on feedback from
@thomasvandoren.

Added a check to ensure that a ctags executable can be found before
calling it.
Remove functions used for sorting data in perfgraph.js

This is now done in genGraphs so the code isn't needed anymore
Remove most references to graphInfo and divs in callbacks

We add the graphinfo and divs to the dygraph, but that can only be done after
the dygraph has been created. The graphInfo and divs are used in some of the
callbacks. I believe that in cases where the dygraph loads quickly the
divs/graphInfo are trying to be accessed before they are actually set which is
why we sometimes get missing graphs
Updates for dygraphs 1.1.0

Some options were deprecated and turned into per series options. Change
drawGrid and yAxisLabelWidth into per series options.
Checkpoint  10 am
Stop putting sort in graphdata.js

It's no longer needed since sorting has been moved to gengraphs
Some quickReference improvements.
Create cygwin32 and cygwin64 .good files for ioerror test.

Previously, there was only a .cygwin.good file, which no longer matches any of
the platform values.
Merge pull request #983 from vasslitvinov/improve-quickReference

Some quickReference improvements.

TEXT CHANGES

* "How to write a one-line "hello, world"
 - moved up to "Quick Start" heading

* command-line prompt: $ (bold) instead of >

* multi-line comment: added /*can be nested*/

* string default size: "variable" --> "n/a"

* Under Casts and Coercions:
    cast -> explicit conversion
    coerce -> implicit conversion

* Under Formal Argument Intents:
    removed "but"; added commas and forced newlines

* under Locality
 - "set via -nl" --> "a.out -nl 4"
 - "here.id" --> "here"; added a comment
 - added "Example" subsection

FORMATTING CHANGES

* added "Heading 1" style
 - horizontal line below
 - reduced vertical space around it
 - this allowed me to remove empty lines right before each heading

* added "Code" style
 - currently used only for blank lines
 - alas replacing the current code lines with "Code" style
   was not a one-click operation, so I did not do it.

* adjusted spacing in other places as well

* Zipper Iteration moved naturally into the previous column

* Changed formatting for * in the footnote
  "Left-associative except where indicated"
  so the * is visible.

* under Atomic Example/n-th: made "th" a superscript
  and larger font (otherwise it's invisible)

EXTRA SPACE AVAILABLE

The above changes freed up some room for additions.
I added back empty lines to space out a few sections - they can be deleted
and new contents can be added.

OTHER

* Also updated .pdf

* Reviewed by Brad.
Merge pull request #982 from ronawho/cleanup-perfgraph-javascript

Cleanup some perfgraph code

 - Replace some functionality that has been depracated with dygraphs 1.1.0

 - Remove sorting code from perfgraph.js
   - sorting was moved to gengraphs a while ago, I only left it in in case
     something went wrong

 - Remove most references to 'divs' and 'graphInfo' in dygraphs callbacks
    - I think this is responsible for some graphs occasionally not loading
      (that become much more frequent with some upcoming changes.)
Merge pull request #984 from thomasvandoren/fix-cygwin-good

Create cygwin32 and cygwin64 .good files for ioerror test.

Previously, there was only a .cygwin.good file, which no longer matches any of
the platform values.
Update prior to handoff to Kyle
Merge pull request #985 from noakesmichael/regress

Update REGRESSIONS for triage hand off
Introduce ParamForLoop as a thin veneer on BlockStmt
Removed checks and assertions upon form_Map.