More structure to custom errors
Expanded map change data sources functionality to be more robust for different data source types.
Added ability to change data source types.
Added ability to generate list of existing data source details, then use said list to generate a list of replacement data sources.