startup.sh cleanup
Mostly dealing with issues around startup. Confusing use of migration level to detect config, which it isn't (in some cases bad startup can lead to config but no migration level), but we should still validate migration level exists before doing anything and give errors in that case. We don't want to upload bad config, etc.