getRawManifest(appID, depotID, manifestID, branchName, branchPassword, callback) {
		if (typeof branchName == 'function') {
			callback = branchName;
			branchName = null;
		}

		if (typeof branchPassword == 'function') {
			callback = branchPassword;
			branchPassword = null;
		}

		return StdLib.Promises.callbackPromise(['manifest'], callback, async (resolve, reject) => {
			let {servers} = await this.getContentServers(appID);
			let server = servers[Math.floor(Math.random() * servers.length)];
			let urlBase = (server.https_support == 'mandatory' ? 'https://' : 'http://') + server.Host;
			let vhost = server.vhost || server.Host;

			let token = '';
			if (server.usetokenauth == 1) {
				// Only request a CDN auth token if this server wants one.
				// I'm not sure that any servers use token auth anymore, but in case there's one out there that does,
				// we should still try.
				token = (await this.getCDNAuthToken(appID, depotID, vhost)).token;
			}

			if (!branchName) {
				this._warn(`No branch name was specified for app ${appID}, depot ${depotID}. Assuming "public".`);
				branchName = 'public';
			}

			let {requestCode} = await this.getManifestRequestCode(appID, depotID, manifestID, branchName, branchPassword);
			let manifestRequestCode = `/${requestCode}`;

			let manifestUrl = `${urlBase}/depot/${depotID}/manifest/${manifestID}/5${manifestRequestCode}${token}`;
			this.emit('debug', `Downloading manifest from ${manifestUrl} (${vhost})`);
			download(manifestUrl, vhost, async (err, res) => {
				if (err) {
					return reject(err);
				}

				if (res.type != 'complete') {
					return;
				}

				try {
					let manifest = await CdnCompression.unzip(res.data);
					return resolve({manifest});
				} catch (ex) {
					return reject(ex);
				}
			});
		});
	}
Download and decompress a manifest, but don't parse it into a JavaScript object.
@param {int} appID
@param {int} depotID
@param {string} manifestID
@param {string} branchName - Now mandatory. Use 'public' for a the public build (i.e. not a beta)
@param {string} [branchPassword]
@param {function} [callback]