added winnow algorithm and single-layer (perceptron and winnow) superclass