Continue Creating Command Builders

I am in the middle of building the command builders.

I realized that my precedence rules were messed up for arithmetic and
logic. I am in the process of fixing that right now.

I realized I provided no way of negating an arithmetic expression, so I
will be creating a class to do that.

I fixed issues with the way parenthesis wrap a join clause. I found a
subtle bug were I was calling an internal override of a method rather
than the underlying interface's method, so I was missing parenthesis.