Polish

This PR is just some minor polishing of things like using initializer lists in the constructors and renaming member variables to have a trailing '_' to make it more clear when you are using a class data member vs. any other variable. This naming convention is just a style thing (happens to be the Google C++ style), but at the very least I think the initializer lists should be used. I'm happy to change the style to something else if you don't like it; I'm not a big fan of having to explicitly use this-> all the time, that is one thing that I think C++ got right in comparison to Python :)