Moved CINT pragmas to LinkDef header

* Having the CINT pragmas in the class header files makes external code
  that includes the headers generate dictionaries again.
Small change in vjson for compatibility with stricter compiler flags
Changes for compatibility with stricter compiler flags
Added methods writeJSON, readJSON and readAuto to Settings
Added a simple logging facility
Added TH1Tools
Added missing const qualifier to some methods of class Settings
Changed Settings to store default values at level kEnvLocal

* Default values were saved at level kEnvChange, which can't be
  overridden by usual local config level kEnvLocal
Switched froast main executable to getopt
Improved and extended logging API
Added class TreeMapperSel
Improved rootsys.m4

Replaced AC_CHECK_PROGS by AC_PATH_PROG. Using absolute paths to tools
in Makefiles is preferable.
BranchManager now automatically handles branch enable and cache settings
Added methods begin() and end() to VectorBranch
Added operator() to ObjectBranch and VectorBranch, like in ScalarBranch
Changed Settings export and boolean handling

* By default, all ROOT settings at or above the chosen export level
  (kEnvLocal by default) are now exported, whether used through
  froast::Settings or not. This also catches settings like ROOT fitter
  defaults, etc., which are usually not accessed directly via froast,
  but can be very important.

* Boolean settings are now set/written as "true" or "false" for increased
  JSON compatibility. Numeric values are still valid in input settings
  (with values >0 interpreted as true).
Added Settings::defined