Custom groups

As discussed in the forum thread, this adds the ability to create and manage custom groups and the dwarves who love them.

Right click a dwarf name to add a new group, delete an existing one, or add/remove from a group. Works with multiple selections.

Group names are global, but dwarf/group assignments are per-fortress.

(Also has the fix for OS X and setuid detection; I can split that out if you want.)

I've never done any Qt before, so please don't be shy about pointing out where I've been dumb.
Move this to the end of the enum. These are cast to integers to use as an id number when saving group by, so inserting an item will break any saved group settings.