IMPALA-736: invalidate metadata <table name> should add/remove table from catalog if it does/does not exist in the metastore

The invalidation logic is:
- If table exists in the metastore, add it to the catalog as an IncompleteTable.
  If the table's parent database does not exist in the catalog, it will also be added.
- If the table does not exist in the metastore, remove it from the catalog cache.
- If we are unable to determine whether the table exists in the metastore (there was
  an exception thrown), invalidate any existing entry by replacing it with an
  IncompleteTable.

Change-Id: If64f07950324a1bec186f9c9ce829197cad87044
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1301
Reviewed-by: Lenni Kuff <lskuff@cloudera.com>
Tested-by: jenkins