Added style guide.

I looked around the codebase and wrote down what appeared to be the style conventions in use.
I find references really simplify things since most of the time we don't actually need our values to be nullable, and we catch bugs much earlier because we're forced to dereference at the introduction site of null pointers.

References everywhere really just simplifies things a lot. If I were in charge of the style guide I'd just mandate references wherever possible and pointers wherever we can't avoid it.