move config initialisation from Settings to slConfig::Create()

this allows to create slConfig on first access trhough Get()
use assert instead of warning on redefinition of default

also clean up a bit and provide more usage examples for the macro
define better to use ReadX() methods

this methods will also fail with an assert if no default was set
the default Read() methods of the base class are left alone
and available for advanced usecases