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.
As you know, non-from statement does not need to resolve any column because non-from statement means no table and no column reference. 

The main difference among the resolving modes is the priority and scope. It is enough to use the mode which has the correct priority and the scope. If possible, it would be nice if we use the mode the minimum scope. RELS_ONLY is the minimum scope one.