Added AIC functions, generic degree fitter, and changed signature of functions to take numpy array instead of python list