Adds docs to many classes and functions.  Make sure no expandtab

I added docs to many of the classes.

I fixed a couple of places where Matt had used expandtabs.

Added vim pragmas to preven expandtab.