Throw an error if a source is added twice to the map. Fixes #771