catalog: implement catalog driver and facade

This commit also refactories the QueryAdapter's code, adds corresponding
unit-test. Catalog-adapter and catalog do not use template, so the definition
are moved to corresponding cpp files.

refs: #2599, #2600

Change-Id: I2be492ec3c2538e865bfa7c09ac8cd49e2a9527d
diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh
index 9eac278..24b497d 100755
--- a/.jenkins.d/00-deps.sh
+++ b/.jenkins.d/00-deps.sh
@@ -21,7 +21,6 @@
     set -x
     sudo apt-get update -qq -y
     sudo apt-get -qq -y install build-essential pkg-config $BOOST_PKG libssl-dev \
-                                libcrypto++-dev libsqlite3-dev mysql-client \
-                                mysql-server libjsoncpp-dev protobuf-compiler \
-                                libprotobuf-dev
+                                libcrypto++-dev libsqlite3-dev libmysqlclient-dev \
+                                libjsoncpp-dev protobuf-compiler libprotobuf-dev
 fi