Updated .gitignore, base.py, and linear.py
Tidied up code.
Added randomised default m and c to Linear
Added support for no randomness
Re-defined how random works and improved plotting.
Added docstrings to Linear
Added docstrings to Base.
Basic Sine class working
Abusing locals() to make Sine.set_variables look better
Added docstrings to Sine
Moved function files to gwydion.funcs