better sources registry and config.

Now extensions and sources are seperated. So one extension can be used
by many sources with different configs.