code: function Traverser() {
  
  		var controller = Object.create(new estraverse.Controller()),
  			originalTraverse = controller.traverse;
  
  		// intercept call to traverse() and add the fallback key to the visitor
  		controller.traverse = function(node, visitor) {
  			visitor.fallback = Traverser.getKeys;
  			return originalTraverse.call(this, node, visitor);
  		};
  
  		return controller;
  	}
docs: Wrapper around an estraverse controller that ensures the correct keys
  are visited.
  @constructor