SetVariable will now create groups first

If you try to set a variable with the name "/blah/foo/bar" and the
groups do not exist, they will be created before the variable is stored.
Smoother add/delete for profile settings

Aliases, triggers, etc are now tracked better when loading, deleting,
and updating. Need to remove superfluous fromXml methods yet.