fixed the problem in which asura stalls on a calcuration of
an inner join.

The root cause is that ItemDataException is thrown taking
a lock of a table. When the stack is rewinded, the destructor
of the table was executed. However, because the unlock is
skipped due to the exception, asura stalled.
So this patch adds catch blocks to unlock for the table.

The reason of the ItemDataException is a comparison between
unsigned-type ItemData and string-type ItemData.
It is still unclear why the comparison of this combination
happened.

<< Tasks to do in the near future >>
- investigate the reason why string and unsigned is compared
  on an inner join.
- make tests for ArmZabbixAPI.
- clean up of VirtualDataStoreZabbix, DataStoreZabbix, and
  ArmZabbixAPI.
- parse arguments of --data-store-zabbix and create multiple
  DataStoreZabbix instances.