Testing changes to prepare for --[no-]use-noinit flag

Updates the test on our -h flag to include the information about the new flag.
Adds a test directory devoted to use of the flag --no-use-noinit, and a case to
verify --use-noinit behaves the same as the default behavior.  Skips my noinit
test directory when --no-use-noinit is used, as the output will be different
(and the important cases are covered in the compflags directory).
Implementation of the --[no-]use-noinit flag

Adds the flag --[no-]use-noinit to the language, with a default of --use-noinit.
This allows the user to control whether the use of noinit within their code
(and module code) is honored at compile time, allowing them to easily determine
the impact noinit has on the performance of their program.

Implementation details:

--use-noinit controls the insertion of the primitive PRIM_NO_INIT in normalize
for user code.  I could have alterred the the functionResolution behavior in
response to noinit, but that was more complicated (and also would have resulted
in the unnecessary insertion and replacement of PRIM_NO_INIT wherever it was
otherwise needed).  Thus, I felt that making the switch during normalize was
the better course of action.

Noinit must still be used with return temps, because our default initialization
lives in the modules - default initializing the return temps in the default
initialization functions (soon to be methods) would cause infinite recursion to
occur.  Thus, --no-use-noinit does not affect return temps.  This should not be
a detail that is apparent to the user, as it is specific to our implementation.
If we do encounter an error related to this, then I will have a bug to fix.
Fix whitespace issues.
Fix the man page entry.
Change name of _build_range to be more explicit

Splitting the _build_range functions into 2 functions: chpl_build_bounded_range
and chpl_build_unbounded_range. This is for the upcoming anonymous range
iteration optimization where we want a clean way to find fully bounded ranges
early in compilation.

Added a chpl_ prefix instead of keeping the single underscore since that's the
direction we want to move with internal functions.
Update .bad file and retire a future

iterInClass now passes so I am retiring the future.

enumerate now has an extra line in the output, but the test still fails.
I've updated the .bad file to match the current output.
Update errors for malformed param ranges

Add the fact that param ranges must be bounded to the error messages
Missed adding an ==0 for strcmp
Need to add an error case for invalid types on partially bounded ranges

Since all the range builders used to have the same name, and the partially
bounded ranges and fully bounded ranges took the same number of parameters, the
generic error case applied to unbounded ranges as well. It no longer does since
the names are different so adding an error case.
Split up builders for unbounded ranges

Instead of having:
 - chpl_build_bounded_range
 - chpl_build_unbounded_range

we now have:
 - chpl_build_bounded_range
 - chpl_build_partially_bounded_range
 - chpl_build_unbounded_range

It seemed worthwhile to split the builders up further to be able to identify
partially bounded vs completely unbounded ranges. It doesn't feel worthwhile to
split up the partially bounded into low and high bounded (though it'd be easy
to do in the future if we change our minds.)

If you have a range like "1.." it feels more natural to call it a partially
bounded range instead of an unbounded range. I suppose it could be called a
partially unbounded range, but that feels strange. Unbounded implies ".." to
me, so it makes sense to split out the builders at the very least to avoid any
confusion.
Merge pull request #1010 from Kyle-B/kb-test-system-improvements

Update .bad file and retire a future

iterInClass now passes so I am retiring the future.

enumerate now has an extra line in the output, but the test still fails.
I've updated the .bad file to match the current output.
Update REGRESSIONS for 09-12-2014
Update REGRESSIONS for 15-12-2014
Merge pull request #1012 from Kyle-B/kb-regressions-12-2014

Regressions update for the week of 08-12-2014
Merge pull request #1003 from ronawho/change_build_range_signature

Change name of _build_range to be more explicit

[ok'd and suggested by @bradcray]

Split _build_range into:
 - chpl_build_bounded_range
 - chpl_build_partially_bounded_range
 - chpl_build_unbounded_range

This was motivated by the upcoming anonymous range construction elimination
work. I need a way to determine if a range is fully bounded immediately after
parse time. The checks that I was doing were restrictive and ugly so this
allows me to simply check for the appropriate builder based on name.

Added the chpl_ prefix to the builders since we're trying to move away from a
single underscore to indicate a Chapel-reserved word.

Also updates error messages for malformed param for loops to indicate that
param for loops only work on bounded ranges.
First, in Makefile.include, change the ordering of the make(1) variable
definitions to be generally:
  base and unique build dirs
  build dirs
  install dirs
  source dirs and files, if any
  lib dirs and files, if any

Second, these lines in Makefile were superfluous:

  GMP_ABS_DIR = $(shell pwd)
  GMP_INSTALL_DIR = $(GMP_ABS_DIR)/$(GMP_INSTALL_SUBDIR)
  GMP_BUILD_DIR = $(GMP_ABS_DIR)/$(GMP_BUILD_SUBDIR)
  GMP_DIR = $(GMP_ABS_DIR)

Because GMP_ABS_DIR isn't referenced anywhere else, they're equivalent
to:

  GMP_DIR = $(shell pwd)
  GMP_INSTALL_DIR = $(GMP_DIR)/$(GMP_INSTALL_SUBDIR)
  GMP_BUILD_DIR = $(GMP_DIR)/$(GMP_BUILD_SUBDIR)

But these latter two definitions of GMP_{INSTALL,BUILD}_DIR are
identical to the ones in Makefile.include, which is included here by
virtue of ../../make/Makefile.base being included at the top. So they
can go. And the first definition here is effectively the same as this
one that is already in Makefile.include:

  GMP_DIR = $(shell pwd)/../../third-party/qthread

So, it can go as well.

Assuming this creates no problems in nightly testing, I'll change the
other affected third-party packages in a follow-up commit.
Alphabetize the list of scripts in util/README
Merge pull request #1014 from Kyle-B/kb-alpha-util-readme

Alphabetize the list of scripts in util/README
Add tests for constructing a record from a type variable, type argument or type function result.

Also, remove an obsolete .bad file.
Merge branch 'master' into addIgnoreNoinitFlag