[DBAgent] Add a new framework to do transaction.

Previously we use macro's to write proceduresdo in transactoin.
As a result, the syntax around the macro is little storange
in terms of the C++'s grammer.

In addtion, the procedures such as select or insert should be in
the DBAgent's contenxt since their operations depend on the SQL
servers in a precise sence.
[testDBAgentMySQL] Fix a problem that causes an error.

The previous code causes an error if there's a table with the same
name in an another database.
[HatoholException] Show a debug message on a creation of a HatoholException object.

This is useful, for example, when an exception happens during an exception.
The current implementation cann't show information about the first exception.
Merge pull request #387 from project-hatohol/show-dbg-msg-on-hatohol-exception

[HatoholException] Show a debug message on a creation of a HatoholExcept...
Merge pull request #385 from project-hatohol/new-transaction

[DBAgent] Add a new framework to do transaction.
Merge pull request #386 from project-hatohol/fix-get-multiple-storage-engine

[testDBAgentMySQL] Fix a problem that causes an error.
[server][HAPI JSON] Remove needless "hatohol." prefix from queue name

We should use vhost for separating name space instead of queue name.
Merge pull request #388 from project-hatohol/hapi-json-use-remove-needless-prefix-from-queue-name

[server][HAPI JSON] Remove needless "hatohol." prefix from queue name
[SeparatorInjector] Add a new class separator Injector.
[testSeparatorInjector] Add a new test: test_clear().
[HatoholException] Fix build error on 32bit environment

Should use size_t instead of a raw type.

long unsigned int ->
size_t
Merge pull request #390 from project-hatohol/fix-build-error-on-32bit

[HatoholException] Fix build error on 32bit environment
[DBHatohol] Use a upsertOnDuplicate flag to simply code in addTriggerInfoWithoutTransaction().
[DBHatohol] Use a upsertOnDuplicate flag to simply code in addEventInfoWithoutTransaction().
[DBHatohol] Use a upsertOnDuplicate flag to simply code in addItemInfoWithoutTransaction().
[DBHatohol] Use a upsertOnDuplicate flag to simply code in addHostgroupInfoWithoutTransaction().
[DBClientHatohol] Fix an inappropriate index that was written by mistake.

Different from other tables, the host table's 'id' is a primary
index and not a copied value of the monitorign server's one.
The copied host ID is stored in the column 'host_id'.
[DBClientHatohol] Use a upsertOnDuplicate flag to simply code in addHostInfoWithoutTransaction().
[DBClientHatohol] Use a upsertOnDuplicate flag to simply code in addMonitoringServerStatusWithoutTransaction().
[DBClientHatohol] Use a upsertOnDuplicate flag to simply code in addIncidentInfoWithoutTransaction().