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.
In setRawTargets(), raw expressions are found instead of references. So, it seems that resolving level should be set as RELS_ONLY. If I misunderstand, please let me know. Thanks.