Separate TajoClient into fine grained parts.

Details

Description

TajoClient is a monolithic and concrete class including connection, catalog client, and query client.

This patch separates TajoClient into three parts: connection, catalog client, query client. In addition, it separates catalog client and query client into interface and implementation. This separations will allow easily different client implementation (e.g., REST or Thrift) even through it requires more works.