Basic AST

While I like the approach of treating operators as sugared methods for its simplicity, I'm in favor of defining a `trait OperatorDecl extends MethodDecl` for them. We're going to have to special-case these operators later on anyways, we might as well make it explicit what we're dealing with.