Refactor ShellIntegrationLinux desktop file generation code.

GetDesktopFileContents is now a wrapper around the more general
GetDesktopFileContentsForCommand, which allows the client to supply an
arbitrary command line. Removed the show_app_list parameter and removed
functionality to generate an App Launcher shortcut. Also removed the
unused extension_path parameter.

CreateAppListDesktopShortcut now directly calls
GetDesktopFileContentsForCommand to create the App Launcher shortcut.

Rewrote the code to stringify a CommandLine; it is now much simpler by
escaping each argument rather than having special cases for different
types of switches.

BUG=299250

Review URL: https://codereview.chromium.org/137973002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246260 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 246260