[modules] Hide header file. It was meant to be private.
[modules] Add a ROOT module map, enabling ROOT to be built with -fmodules

C++ Modules (http://clang.llvm.org/docs/Modules.html) allow significant speed ups
of the compilation times. They will be available with clang 3.6.0.

ROOT will use these modules as a replacement for its dictionaries. We refer to
that feature as runtime C++ modules. They are will be the same as clang's C++
modules, but will be available through cling.

As a first step we need to make standalone clang and LLVM compile with modules
enabled (-fmodules). This is already completed. Secondly we need to build ROOT
with -fmodules. This modulemap is the driver building ROOT with modules. Currently
32 out of 90 libraries can be built.

In order to test it out one needs to copy the module.modulemap in $ROOTSYS/include,
and add to his MyConfig.mk the following:
CXXFLAGS+= -Xclang -fmodules -Xclang -fmodules-cache-path=$(ROOTSYS)/pcm/
CFLAGS+= -Xclang -fmodules -Xclang -fmodules-cache-path=$(ROOTSYS)/pcm/

and of course ROOT needs to be configured to be built with newest clang compiler.

Once ROOT fully compiles with modules, the implementation of runtime modules will
be far easier.
[modules] rootcling must not depend on libCore.

When building rootcling we must not pull in the core_base module, because it
'polutes' the .o files with symbols that we cannot resolve at the point of building
rootcling.

 There are some issues building ROOT dictionaries. If we built only the dictionaries
with modules disabled we get 51 out of 90 ROOT libs built.
[modules] Include more header files to the module build.

Some of the issues with those header files were resolved due to better organisation
of the modulemap.
[modules] Enable modules for a header file.
[modules] mm* headers should be included textually. Add separate module for TMapFile.h
[modules] RooMsgService.h has a config macro.
[modules] Put TTreeFormula.h in a separate module because of mislayering.
[modules] Enable math_matrix.
[modules] Split TTree-s essentials in a separate module (possible mislayering issue).
[modules] Extract out the module with config macro. It must be top-level module.