Added Pydoc comments for all public methods

TODO: fix all of the TODOs that I just added :)
Added .gitignore? Thought it was already being tracked...