move validators into their own package

also hides the visitor in internal classes to have a cleaner
public interface.
add RelationOutput symbol and ExpressionAnalyzer

This commit adds a RelationOutput, ExpressionAnalyzer and a
RelationOutputResolver.

The ExpressionAnalyzer can be used to convert Expression
(from SQL AST) into a Symbol. Using composition over
inheritance makes it possible to easier handle nested
relations and re-use the ExpressionAnalyzer for different
sources.

The DataStatementAnalyzer is now marked as deprecated and
shouldn't be used anymore.
use ExpressionAnalyzer in CopyStatementAnalyzer
change Delete Analysis to relation structure

DeleteAnalyzedStatement now has a relation as source/target
instead of tableInfo.

In case of bulk operations there are now longer nested full
blown AnalyzedStatements but only multiple WhereClauses.