Added keyword arguments for linear regression with gradient descent so the learning rate and convergence threshold are optional parameters. I couldn't figure out how to make a default weights vector argument since it will be variable size, so it requires that as input. Debating on getting rid of the weights argument and always having gradient descent start with a zero vector.