still more work on "include what you use"
removed dependancy towards compilation variables (USE_LDAP)
Improved compilation process

- do not use add_definitions: when a new definition is added (e.g.,
  due to the selection of an option), everything is recompiled.
  Instead prefer the set_source_files_properties with the COMPILE_FLAGS
  property. It only acts on targets which use the concerned files.
  Beware though that the target needs to be in the same CMakeLists.txt
  file as where the set_source_files_properties command is.
- modules should be a bit more independant. You do not need to recompile
  everything when you turn on or off a module.
- do not dynamically add include directories, it recompiles everything,
  even if the target does not need anything in this include directory.
- do not link to stuff you do not need
only indentation
Remove diet name from constant and function, some coding standards, remove fn from doxygen documentation in ums because useless