move XUngrabServer to the end of client_new() to avoid races where clients,
such as those using sdl, attempt to manage the clients themselves when the
clients aren't fully ready.  other wm's grab the xserver during the whole
client setup process, so match.

behavior found by jsg.
honor PATH search order for exec; from Andres Perera.
- no reason to breakout ClassHints work, so fold into client_{new,delete},
  but keep _MOTIF_WM_HINTS separate.
- simplify fetching app/class hint.
- fix _MOTIF_WM_HINTS Atom type.
zap stray whitespace
add missing proto; replace magic number