code: function createRun (projectName, suiteName, branchName) {
  	return _callServer('post', 'runs', {
  		branchName: branchName || 'master',
  		projectName: projectName,
  		suiteName: suiteName
  	}).then(function (result) {
  		if (!result) {
  			return q.reject('server responded with an invalid message. ' +
  				'Either something is wrong with your connection to the server or the server itself has encountered a problem.');
  		}
  
  		var createdRun = {
  			run_id: result.id,
  			project_id: result.projectId,
  			suite_id: result.suiteId,
  			branch_name: result.branchName
  		};
  
  		if (!result.id) {
  			return q.reject('server returned an empty run id when creating a new run. ' +
  				'Probably something went wrong on the server, check its logs for more details.');
  		}
  
  		return createdRun;
  	}).catch(function (error) {
  		return q.reject('an error occurred while creating a new run on the VisualReview server: ' + error);
  	});
  }
docs: Creates a new run in the given suiteName within the given projectName
  @param projectName name of the project
  @param suiteName name of the suite inside the given project
  @param branchName (optional) name of the branch the suite was run on. Defaults to "master"
  @returns {Promise} a promise which resolves a new Run object with the fields run_id, project_id, suite_id and branch_name.
  If an error has occurred, the promise will reject with a string containing an error message.