added a new class: DataStoreException.

This is used to notify errors related to DataStore.
The convenient macro: THROW_DATA_STORE_EXCEPTION() is also served.
The macro create a DataStoreException instance and throws it
like THROW_SQL_PROCESSOR_EXCEPTION().

Since it is based on AsuraException, its useful functions such as
showing stack trace and show a fancy message can also be used.

<< Tasks to do in the near future >>
- implement ArmZabbixAPI::getTriggers().
- implement DataStoreZabbix::getTriggers().
- implement VirtualDataStoreZabbix::getTriggers().
- parse arguments of --data-store-zabbix and create multiple
  DataStoreZabbix instances.