Router = function(options) {
	options = options || {};
	/**
	 * Stops routing at first successful match.
	 *
	 * @type {!boolean}
	 * @private
	 */
	this.firstMatchStop = options.firstMatch || false;
	/**
	 * Chain of promises.
	 *
	 * @type {!Array.<!Object>}
	 * @private
	 */
	this.promises = [];
	/**
	 * Otherwise promise.
	 *
	 * @type {!function(!string=)}
	 * @private
	 */
	this.otherwiseFn = function() {};
}
Routes an url thought a valid, predefined, path.

@param {!Object=} options Setup options.
@param {!boolean=} options.firstMatch If true the router will stop
  at the first path matched. The default is false, and tries to
  match every path.
@constructor