Added configuration class documentation

I've added the configuration documentation and moved the configuration
validation function to private methods so now we have less code
'undocumented'. (Actually the code documentation that was missing was
kinda of self explanatory, but it avoids false-positives reports from
rdoc)