TAJO-1109: Separate SQL Statements from Catalog Stores

This is a re-created pull request for this request, https://github.com/apache/tajo/pull/201.
Upgrade support is a nice approach. BTW, we have used ```tajo-dump``` for upgrading catalog stores. You can see the documentation of this feature at http://tajo.apache.org/docs/current/backup_and_restore/catalog.html.

The main reason why Tajo uses ```tajo-dump``` approach is to mitigate the maintenance effort of schema changes between versions. With your approach, we need to maintain schema changes for each RDBMS catalog store. ```tajo_dump``` allows us to reuse the part of DDL statement execution in Tajo, and we just need to keep DDL DUMP code.

Even through currently schemas for different RDBMSs are not much different to one another, the schemas will much differ as we optimize and specialize CatalogStore. Thus, the maintenance effort of schema changes between different versions would be costly.