Use shlex.split instead of splitting dumbly on whitespace
Fix a nonlocal import
desktopfile: Implement much better parsing of Exec line (+ tests)