Break out SQL Aliases into its own node

Unary, Binary, Ternary and FunctionCall nodes are aliasable using the AliasNode.

Column and Table already have their own built-in "as" aliasing, so that's left alone. Changing that to use the Alias node will probably break back compat.

The .as() alias shortcut is implemented as a Mixin inside Alias.js