Add lots of verification to DBProfileEditor, so user can't generate invalid dbxml file

There should be lots of helpful fail-fast warnings. The only way they could be more helpful is by specifically pointing to the fields which need to be filled out. But most things are required, and optional fields are marked as such.
Merge remote-tracking branch: upstream/master