compat: move simplejson tests to compat.json

Signed-off-by: David Aguilar <davvid@gmail.com>
dag: call wait() when the subprocess finishes

Signed-off-by: David Aguilar <davvid@gmail.com>
decorators: handle EINVAL for interrupted calls

Signed-off-by: David Aguilar <davvid@gmail.com>
utils: make start_command() interruptable

More OS X fun
xbase: use an even-more-backwards-compatible method

The fix I just put in for RHEL6 broke OS X... :sigh: since there seem to
be bugs in certain versions of PyQt4 when doing internal moves and
supportedDropActions() is Qt.MoveAction.

The safe thing that *does* work is serializing into mimedata and doing a
CopyAction.  This should be backwards compatible and work fine on all
platforms.  I'll test this on Debian later tonight.

Signed-off-by: David Aguilar <davvid@gmail.com>