No longer deletea all sets if a set with empty name is deleted

QSettings::remove( const QString & key ) removes (as intended and
documented...) all keys if its given "" as the key. The user is allowed
to create a set with empty name (as should not have done). Since users
of earlier version may have created sets with empty name, disallowing
creation is not enough.

If a set with empty name is attempted to be deleted, all other sets are
read, all sets are deleted and other sets are written back.