TAJO-939: Refactoring the column resolver in LogicalPlan

See the description in TAJO-939 (https://issues.apache.org/jira/browse/TAJO-939).

I fixed the problem mentioned in the description. Also, I refactored the name resolver as follows:
 * I extracted the resolving part from LogicalPlan into made NameResolver, abstract class.
 * I made a sub class for each resolving level.
 * I extracted some common parts from the past resolving code and made into utility methods.
It would be better use the above 'projectTargetExprs' variable.