Merge branch 'schordan1/codethorn' of rosecompiler1.llnl.gov:rose/edg4x/rose
(Compass2) Add initial top-level README file

* Add `RULE_SELECTION` as a TODO item since it is currently
  not implemented. This mechanism is used to toggle checkers
  during an analysis.
* Update path to `RULE_SELECTION.in` files in each of the
  `compass_parameters.xml` files since they are currently
  hardcoded.
(cherry picked from commit a6081bb8779b618e8313d90a614011878d9ca62a)
(Compass2 Add non-global cpp directive checker

* This checker searches for CPP directives that are not
  in the global scope.
(cherry picked from commit b4e9ba9246188c60b1711d855c2fe6122a0de4a1)
(Compass2) Allow users to active specific checkers.

* Provide a new compass_parameters.xml configuration:

      <parameter name="enabled_checker">
        checker_name
      </parameter>

  For now, users must explicitly configure which checkers
  they would like to use.

---

* Add initial non-static array size checker
* Fix compass_parameters.xml files under the tests/ directory
(cherry picked from commit 64c4ced1d137d9c6c0f3eb4aed06369fe0fbab34)
(Compass2) Add initial checker for global variables.

* Remove legacy RULE_SELECTION files.

(cherry picked from commit 19d51e74cd0c80c30dfd13ca8d3c3cfd2ad73927)
(Compass2) Add white list configuration for global variable checker.

(cherry picked from commit 81e1cbb5a2c1190b930216ba6a740de4d3cf04de)
(Compass2) Add TODO for non-static array size detection.

* According to Tristan Vanderbruggen, it may not be possible to
  detect constant variables in an array dimension:
  * EDG performs constant propagation; no original expression
    is available
  * Clang may be able to handle this

* Uncomment testcode (it's not run in the Makefile)

* TODO: confirm with Dan to remove this checker

(cherry picked from commit d59ee3f708093415553e2991f7e2bf95c357f74d)
(Compass2) Fix file's authored date for Doxygen.

(cherry picked from commit bc7ce02ed5fbeb493ee3a7f88205eb6d8f4289e5)
(Compass2) Refactor directory structure to follow conventions

(cherry picked from commit 6b5a8dbc1ba235cb4c39e22043224ad457d69e5e)
(Compass2) Remove extraneous environment setup files

(cherry picked from commit 6936ee070d4347eccd991f9d4fa4244526fdc26f)
(Compass2) Add checker for default function arguments

(cherry picked from commit bccb5bd2b64447339295caced1462ddfd44ad398)
(Compass2) Remove text editor-specific modelines

(cherry picked from commit 7c9fd15500c1811b9876550a71094111d0e2c8d5)
(Compass2) Add checker for functions w/ multiple returns

(cherry picked from commit 56cb733286c0bfd703dc407ef2e7add39cccd43f)
(Compass2) Add function prototype checker

Conflicts:

	config/support-rose.m4
	projects/compass2/Makefile.am
	projects/compass2/bin/compass_main.cpp

(cherry picked from commit ab2deaac31abfbc9f4da17eb0372050a3d20e2e2)
(Compass2) Add checker to enforce function prototypes

(cherry picked from commit 51ee03db65df4ba48b0bb45d8cbc37ad99fc4b2b)
(Compass2) Add new checker for dead functions

(cherry picked from commit 514b8230ab7b9125796daa18e151454ff7d45705)
(Compass2) Add checker for variable name similarity

* Utilizing Dan Quinlan's implementation of the
  Ratcliff/Obershelp pattern recognition algorithm

(cherry picked from commit 0c43bed48b381ef4c40c97246842cb5aa257dfb3)
(Compass2) Fix installation of compass_parameters.[xml,xsd]

TODO: Use Boost Filesystem to resolve symlinks
(Git) Ignore Eclipse project files
(Compass2) Fix erroneously named AST Matching regex capture variables

Conflicts:
	projects/compass2/bin/checkers/function_with_multiple_returns/function_with_multiple_returns.cpp