putKind writes only if there is change

:Release Notes:
If putKind same contents, write nothing.

:Detailed Notes:
If putKind same contents, currently it write down to levelDB.
Since many services writes putKind at power-on, such as TV service,
it can be damaged by short mother/father testing.

:Testing Performed:
Checks whether initialization is working fine.

:QA Notes:

:Issues Addressed:
[ANG-5617] db not open when 15-seconds AC power on/off testing
[BHV-11779] Forward-port acadiadvb items into beehive

Open-webOS-DCO-1.0-Signed-off-by: Junku Park <junku.park@lge.com>

Change-Id: I73a733269891d7a03fce2160f72722f1118e602e
Reviewed-on: https://g2g.palm.com/6271
Reviewed-by: DCO Verification
Reviewed-by: Oleg Yablokov <oleg.yablokov@lge.com>
Tested-by: Oleg Yablokov <oleg.yablokov@lge.com>
Implement search query cache

:Release Notes:
Implement search query cache to improve search query performance

:Detailed Notes:
Maintain cache of search query result per each kind. It will only maintain
filtered, sorted and distincted results in 'id' set, not object itself.
Cache will be inserted/updated only if number of results is larger than limit.
Then, subsequent search query will be faster; it just load objects based on ids.

:Testing Performed:
Test code and test on the board with custom build

:QA Notes:

:Issues Addressed:
[BHV-11421] Search query cache to improve search query
[BHV-11283] Improve the search query performance

Open-webOS-DCO-1.0-Signed-off-by: Junku Park <junku.park@lge.com>

Change-Id: Ief861367b267962f297e354fe5da703c51672fba
Reviewed-on: https://g2g.palm.com/6387
Reviewed-by: DCO Verification
Tested-by: Junku Park <junku.park@lge.com>
Reviewed-by: Oleg Yablokov <oleg.yablokov@lge.com>
Reviewed-by: Junku Park <junku.park@lge.com>
Merge branch 'develop'

Open-webOS-DCO-1.0-Signed-off-by: Oleg Yablokov <oleg.yablokov@lge.com>

Change-Id: Ib419d7395ef535e4fdb7a75536bbe76131db610d