filename is any filename, or something on which open() can be called
        for example:
        csv_input = CSVInput()
        csv_input.read_input("csvfile.csv")

def read_input(self, filename, has_header=True):
        """
        filename is any filename, or something on which open() can be called
        for example:
        csv_input = CSVInput()
        csv_input.read_input("csvfile.csv")
        """
        stream = open(filename)
        reader = csv.reader(stream)
        csv_data = []
        for (i, row) in enumerate(reader):
            if i==0:
                if not has_header:
                    csv_data.append([str(i) for i in xrange(0,len(row))])
            csv_data.append(row)
        self.data = csv_data