Config object merge with defaults