changing term 'local_output' to 'net_input' in neuron.forward
pop() was permanently changing the layout list, so change to just indexing the first element
moving the learning rate from a instance variable for an instance of the SGD class to just a parameter for the train function. Also rearranged the order of the update_parameters function paramaters so that learning_rate is first
updating unit test for is_valid_function
adding regularization using a lambda term