First cut at script that converts start_test log to jUnit xml report.
python 2.6 arg parser
Open logs with utf-8 encoding. Ignore invalid characters.
Fix bug when finding blocks.

If end was not found (-1) it was still added to the start value, which gave a bad end value.
Support jUnit xml style reports in start_test.

Add --junit-xml argument. When set, start_test calls new script to convert
logfile to junit xml style report. Also add --junit-xml-file argument, which
implies the --junit-xml argument. When --junit-xml-file is set, its value is
passed along to the conversion script as the junit xml output file.
Add jUnit XML report generation support to nightly.

Add -junit-xml flag to nightly that add --junit-xml flag when calling
start_test. The flag is thrown by default when JENKINS_URL is set in
environment (i.e. nightly is running inside jenkins job).
Filter invalid XML characters and wrap system-out in CDATA tag.
Add DEBUG setting.
Fix bug that showed up in linux32 logs.
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.