cplan.remove(...) yields a new calculation plan identical to cplan except without any of
        the calculation steps listed in the arguments. An exception is raised if any keys are not
        found in the calc-plan.

def remove(self, *args):
        '''
        cplan.remove(...) yields a new calculation plan identical to cplan except without any of
        the calculation steps listed in the arguments. An exception is raised if any keys are not
        found in the calc-plan.
        '''
        return Plan(reduce(lambda m,k: m.remove(k), args, self.nodes))