Updating to CMake 2.8.11 (Trilinos #6189)

With this changes, the download_cmake.py script will now download and install
CMake 2.8.11 by default.

I also updated the 'rc' and 'dev' versions from what was pulled down by
download_cmake.py.

This is needed so that all of the TriBITS Dashboard Driver run builds will
update to CMake 2.8.11 automatically.
Changing selection of CTest based on exact path (Trilinos #6189)

With the new CMake version 2.8.11, the file name 'ctest' is found not only in
bin/ctest but also in share/2.8/ctest so the glob logic in
LocateCTestAndRunScript.cmake failed.  I think this logic was there for back
in the days when download_cmake.py did not cleanly install cmake/ctest under
<install-dir>/bin.  This caused the inner build to fail since it could not
find ctest.

I have changed this to just pick out the exact ctest path.  This seems to work
and is a lot safer.
Merge remote branch 'casl-dev/master'
Adding poster and slides for a short overview of TriBITS

This adds about 5M to the repo but I think it is worth it.  These will be
stripped out in an install of TriBITS.x
Removing a redundant slide
Addressing several TRIBITS_CTEST_DRIVER() defects (PHI Kanban #3436, #3231, #3086, #3470)

PHI Kanban #3436: Making ${PROJECT_NAME}_EXCLUDE_PACKAGES disable pakages even
if set by ${PROJECT_NAME}_PACKAGES.  However, to maintain backward
compatiblity, I had to allow packages listed in ${PROJECT_NAME}_PACKAGES to
override regular disables. This allows you test EX pakages that are hard
disabled by default by listing them in ${PROJECT_NAME}_PACKAGES.  However, we
need for ${PROJECT_NAME}_EXCLUDE_PACKAGES to override and disable packages set
in ${PROJECT_NAME}_PACKAGES.  I added a good unit test for this and updated
other unit tests to look for the right things in the output.

PHI Kanban #3231: I moved the delete of the CMakeCache.txt file to after we
decide if we are going to be configuring any packages.  This is critical since
the build directory will not be deleted if a CMakeCache.txt file is not
present.  I added comments to discuss this issue in the *.cmake file.  This
should address defect in the CI server not starting with a fresh build dir in
PHI Kanban #3231.

PHI Kanban #3086: I added the delete of the CMakeFiles/ directrory along with
the CMakeCache.txt file.  For later versions of CMake, they must be deleted
together or a configuire from scratch will not work.  I commented on that in
the *.cmake file.

PHI Kanban #3470: I added the options
CTEST_GENERATE_OUTER_DEPS_XML_OUTPUT_FILE and
CTEST_SUBMIT_CDASH_SUBPROJECTS_DEPS_FILE to allow disabling the generation of
the <Project>PackageDependneices.xml file and the
CDashSubprojectDependencies.xml file, respectively.  This is to speed up
manual testing on large projects where it is expensive to generate these files
(e.g. VERA) but the option CTEST_SUBMIT_CDASH_SUBPROJECTS_DEPS_FILE will be
used to avoid the generation of CDashSubprojectDependencies.xml for CI builds
which is currently taking a long time for VERA.

Build/Test Cases Summary
Enabled Packages: TriBITS
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=138,notpassed=0 (0.72 min)
1) SERIAL_RELEASE => passed: passed=138,notpassed=0 (0.60 min)
Merge remote branch 'casl-dev/master'
Fix minor typo in doc
Installing CMake 2.8.11 and using github repo
Installing CMake 2.8.11 and using github repo
Adding a standard SERIAL_DEBUG build config.
This info was copied to TribitsDevelopersGuide a long time ago

Having this document sit in the repo not being updated someone might find it
by accident and get wrong/bad info.
Implementing new Primary Meta-Project Packages (PMPP) selection (TriBITS #9)

This defines new variables:

  ${REPOSITORY_NAME}_REPOSITORY_CONTAINS_NO_PRIMARY_META_PROJECT_PACKAGES
  ${REPOSITORY_NAME}_REPOSITORY_CONTAINS_NO_PRIMARY_META_PROJECT_PACKAGES_EXCEPT

and removes the variables:

  ${REPOSITORY_NAME}_NO_IMPLICIT_PACKAGE_ENABLE
  ${REPOSITORY_NAME}_NO_IMPLICIT_PACKAGE_ENABLE_ENABLE

(which were a hack).

Also removed were the functions:

   TRIBITS_REPOSITORY_IMPLICIT_PACKAGE_ENABLE_IS_ALLOWED()
   TRIBITS_APPLY_REPOSITORY_NO_IMPLICIT_PACKAGE_ENABLE_DISABLE()

The updated behavior is deined in TriBITS Github issue #9.

This will also be fully documented in the TribitsDevelopersGuide.* document in
the next commit.

I added the macro SELECT_FINAL_SET_OF_PACKAGES_TO_PROCESS() that modifies the
set of packages that are exlicitly processed in the loop.  This makes for
nicer output and easier debugging becuase you can see exactly the packages
that will be directly processed before the loop starts and every iteration of
the loop with process a pacakge and not just skip it.

Some of the existing tests had to be modified because some strings are no
longer printed.  However, the tests should be just a strong because the look
at the final list of packages that CTest/CDash will process.

Build/Test Cases Summary
Enabled Packages: TriBITS
Enabled all Packages
0) MPI_DEBUG => passed: passed=641,notpassed=0 (36.70 min)
1) SERIAL_RELEASE => passed: passed=548,notpassed=0 (15.36 min)
Other local commits for this build/test group: 5ac058d, cb72771
Shortening of the primary meta-project packages variables (TriBITS #9x)

The variables:

    ${PARENT_REPO_NAME}_REPOSITORY_CONTAINS_NO_PRIMARY_META_PROJECT_PACKAGES
    ${PARENT_REPO_NAME}_REPOSITORY_CONTAINS_NO_PRIMARY_META_PROJECT_PACKAGES_EXCEPT

was too long to show in documentation. These were shorten to:

    ${PARENT_REPO_NAME}_NO_PRIMARY_META_PROJECT_PACKAGES
    ${PARENT_REPO_NAME}_NO_PRIMARY_META_PROJECT_PACKAGES_EXCEPT

I think they are still descriptive enough given TriBITS documentation (which
will be committed next).
Adding documentation for primary meta-project packages variables (TriBITS #9)

This completes all of the work to define the new primary meta-project packages
feature for TriBITS (Fixes #9).

Build/Test Cases Summary
Enabled Packages: TriBITS
Enabled all Packages
0) MPI_DEBUG => passed: passed=641,notpassed=0 (55.87 min)
1) SERIAL_RELEASE => passed: passed=548,notpassed=0 (8.22 min)
Other local commits for this build/test group: 23a3243
Merge remote branch 'casl-dev/master'

Conflicts:
	doc/build_quick_ref/TribitsBuildQuickRef.pdf
	doc/developers_guide/TribitsDevelopersGuide.pdf
Updated generated files.
Removing print of packages enables in summary email header

This commit removes the printing of the packages in the summary email
header. That list was not even correct because you can run differnet build
cases like the PT --default-builds and other ST --st-extra-builds and even EX
--extra-builds and all of these build could have different sets of enabled
packages.  You can also run the individual builds separate using different
values for --enable-all-packaes and --enable-packages.

The added benefit of removing this is that we don't have to call
getEnablesLists() a second time which is super expensive if there are a lot of
changed files and you have a lot of packages.
Making --enable-all-packages=on skip package change check

Before, if you set --enable-all-packages=on but did not set
--enable-packages=<somepkg>, it would still look for changed packages.  This
makes no sense.  If you are enabling all packages you should not bother to
look for changed packages.

Making this change has two important consequences.  First, for a meta-project
that has defined primary meta-project packages (PMPPs), then you want the user
to be able to test all of those packages just by setting
--enable-all-package=on and not have the checkin-test.py scrpt look for
changed upstream packages to enable that are not relevant to the meta-project.
A second very important consequence is that when you have tens of thousands of
changed files with a project with hundreds of packages, the package change
detection code can run very very slow currently.  Therefore, there needs to be
a simple way to turn off that change detection and just test everything the
(meta) project cares about by just setting --enable-all-packages=on.
Improving --help doc (avoiding auto change detection)

Here I fixed a few typos but mostly put in some documentation about avoiding
the auto-detection of changed packages using --enable-all-packages=on or
--enable-packages=<P0>,<P1>,...

Build/Test Cases Summary
0) MPI_DEBUG => passed: passed=139,notpassed=0 (0.71 min)
1) SERIAL_RELEASE => passed: passed=139,notpassed=0 (0.57 min)
Other local commits for this build/test group: b2c1d9a, 4f497cc