Affects Version/s: None
Fix Version/s: None
Convert `SqlNode` from a class to an interface.
This would allow:
1. Make `SqlNodeList` extend `AbstractList` or `ArrayList` rather than wrapping a list.
2. Make `SqlSelect`, `SqlWindow` and similar classes implement `SqlNode` directly rather than extending `SqlCall`. Their arguments would be stored in named, typed fields rather than the operand array. They could still have a `getOperator()` method (but not `setOperator`)
3. Maybe convert `SqlCall.operands` array to an immutable list.
4. Remove `implements Cloneable`. There are better ways.
---------------- Imported from GitHub ----------------
Created by: julianhyde
Created at: Thu Feb 20 22:16:24 CET 2014