[CacheServiceDBClient] Rename files.

I'll rename the class from CacheServiceDBClient to DBCache.
The reasons are the followings.
- DBClient will be removed in the new design.
- This class will provide not only DBTables sub classes, but also
  DB sub classes such as DBHatohol.
- The DBTables subclasses instance should be obtained by this class
  to improve performance and save the number of connections in the
  new design.
  So this class will be used more. The simpler name is preferred.

This patch only changes the file name.
The class name hasn't changed yet.
[DBCache] Rename a class.

CacheServiceDBClient ->
DBCache

This patch only changes a class name. The logic is unchanged.
[DBCache] Return a reference of DBTablesConfig instread of a pointer.

The returned object never be NULL. So a reference is suitable.
[DBCache] Return a reference of DBTablesUser instead of a pointer.

The returned object never be NULL. So a reference is suitable.
[DBCache] Return a reference of DBTablesAction instead of a pointer.

The returned object never be NULL. So a reference is suitable.
[DBCache] Add a new method: getDBHatohol().

Some tests are changed to for getting DBHatohol instead of
DBClient that will be deleted.
[Use SimpleSemaphore to make code simple.
[DBCache] Get a DBTablesConfig instance via DBCache.

When DBTablesConfig inherits DBTables, the default constructor
is removed. So the use without constructor paramters won't be
used.

In addtion, the way in this patch reuses the opened connection and
it's expected to improve the performance.
[DBCache] Get a DBTablesUser instance via DBCache.

When DBTablesUser inherits DBTables, the default constructor
will be removed. So the declaration w/o constructor paramters won't
be able to to use.

In addtion, the way in this patch reuses the opened connection and
it's expected to improve the performance.
[DBCache] Return the stub instance.

If DBCache has DBTablesConfig and DBTablesUser, their constructor
is executed when the instance is created. However, If the setup of
the database is done, it causes an exception. This patch avoids the
problem.
[DBCache] Fix the use of wrong constant that was written mistakenly.
[DBCache] Get a DBTablesAction instance via DBCache.

When DBTablesAction inherits DBTables, the default constructor
will be removed. So the declaration w/o constructor paramters won't
be able to to use.

In addtion, the way in this patch reuses the opened connection and
it's expected to improve the performance.
[DBCache] Rename a class.

DBCache ->
ThreadLocalDBCache

This name is inspired by TLS (Thread Local Storage), whose concept
is similar to this class. In other words, people who know TLS can
make it easy to understand the role of this class by this name.
[ThreadLocalDBCache] Return a reference instead of a pointer.

The returned matter is alywas not NULL. So a reference is suitable.
[server] Get DBTablesMonitoring instances via ThreadLocalDBCache.
Merge pull request #437 from project-hatohol/dbcache-brush-up-3

Dbcache brush up 3