Change config handling

Introduce yaml config file usage and general config handling.
Gem specific have been introduced.
Add errors
Add some documentation