Added gitignore, fleshed out some implementation details.

Noted the differences between data structures and classes/objects.

Made classes build off of pure data structures, since some classes
dont *need* methods.