simplify Arel::Visitors::Dot
simplify Arel::Visitors::Dot

Instead of having many aliases for all the Arel::Nodes classes, rely
on generic methods for Unary, Binary, and Function (which is possible
because Arel::Visitors::Visitor#visit falls back to ancestors' visit
methods).

Note that a few new Node types are now implicitly supported that were
not previously explicitly supported, including:

- Bin
- DistinctOn
- Else
- Except
- Intersect
- Lock
- Quoted
- Union
- UnionAll
- When

EmmaB/rails-1,rails/rails,Erol/rails,Erol/rails,Envek/rails,MSP-Greg/rails,lcreid/rails,kddeisz/rails,Vasfed/rails,yahonda/rails,BlakeWilliams/rails,georgeclaghorn/rails,joonyou/rails,yahonda/rails,Edouard-chin/rails,georgeclaghorn/rails,joonyou/rails,Vasfed/rails,bogdanvlviv/rails,kddeisz/rails,Vasfed/rails,lcreid/rails,esparta/rails,BlakeWilliams/rails,Edouard-chin/rails,joonyou/rails,Stellenticket/rails,kmcphillips/rails,bogdanvlviv/rails,Envek/rails,Stellenticket/rails,bogdanvlviv/rails,yawboakye/rails,Edouard-chin/rails,esparta/rails,esparta/rails,yahonda/rails,Stellenticket/rails,Envek/rails,kmcphillips/rails,georgeclaghorn/rails,lcreid/rails,yahonda/rails,BlakeWilliams/rails,Erol/rails,yawboakye/rails,MSP-Greg/rails,kmcphillips/rails,Stellenticket/rails,EmmaB/rails-1,georgeclaghorn/rails,yawboakye/rails,BlakeWilliams/rails,Erol/rails,rails/rails,kddeisz/rails,joonyou/rails,MSP-Greg/rails,kddeisz/rails,rails/rails,esparta/rails,yawboakye/rails,Vasfed/rails,bogdanvlviv/rails,rails/rails,lcreid/rails,Envek/rails,kmcphillips/rails,MSP-Greg/rails,EmmaB/rails-1,Edouard-chin/rails