removed code that deletes all rows in application and hosts replication DB.

The deletion is for the previous algorithm. Since the partial request
of applications and hosts were implemented, they are no longer needed.
cleaned up updateHosts() with a helper method.
used left join instead of inner join to make Asura's trigger data.

Even if the corresponding host is missing, we want to show its
storange state to make operator aware of the error.
extended ADD_NEW_ITEM macro to accept multiple types of ItemData constructors.

Previously ADD_NEW_ITEM() supports the only the following constructor.
- ItemGeneric(T data)

This version also accepts the following constructor.
- ItemGeneric(ItemId id, T data)
added a test for DBClientZabbix::getEventsAsAsuraFormat().
added a test for getTriggersAsAsuraFormat() with the missing data.
cleaned up test_getEventsAsAsuraFormat() with a helper method.
added code to set null flag.
deleted an unncessary space.
fixed the problem that causes a crash when data of a string column is NULL.
added assertions to _assertGetEventsAsAsuraFormatWithMissingData().
updated TODO.
deleted a suffix: WithMissingData, because the function is used not only for tests with missing data.
fixed the bug that doesn't update for applications data.
added a test: test_addApplicationsRaw2_0Insert().
cleaned up test_addApplicationsRaw2_0Update().
added a helper macro: DELETE_DB_AND_DEFINE_DBCLIENT_ZABBIX().
extended DELETE_DB_AND_DEFINE_DBCLIENT_ZABBIX() to take a DBClientZabbix's instance name.
added a helper macro: DELETE_DB_AND_DEFINE_DBCLIENT_ZABBIX_STDID() that takes only a instance name.
removed unncessary tab (The other macros in this project don't use spaces).