Spotlight config migration

DO NOT MERGE

We believe this should be complete and work so we're opening this for comment and suggestion. 

We don't want to merge this until after we have done the services list and module page work in stagecraft and spotlight however. Once we have verified this script works with these changes and doesn't require extra logic we can merge this.

One thing we do need to fix now is to make the spotlight config path used configureable.
I'm unclear about what `self.data` is supposed to be. It seems to be acting as both the input data and a scratch space for computed data.