Return correct reason of error in leveldb engine

:Release Notes:
Add more accurate conversion of error from leveldb::Put and
leveldb::Batch::Put functions.

:Detailed Notes:
Previously any of leveldb put error converted to MojErrDbFatal error.
mojo-luna service always close itself, if MojErrDbFatal raised. This
commit adds an IO error (error, when no disk space available or disk
write failed) and add react to leveldb::corrupted error. So, mojo-luna
service will continue servicing queries when no disk space is available
or when a temporary input/output error has occurred.

:Testing Performed:
Compiled and tested locally.

:QA Notes:

:Issues Addressed:
[GF-59633] [DB8] "Fatal Error" occurs and db8 process killed when
           partition is full

Open-webOS-DCO-1.0-Signed-off-by: Maksym Sditanov <maxim.sditanov@lge.com>

Change-Id: Ia34327d97e5063a6b927513dc7e4ec37362649b8
Reviewed-on: https://g2g.palm.com/4542
Reviewed-by: DCO Verification
Reviewed-by: Igor Kuksyuk <igor.kuksiuk@lge.com>
Reviewed-by: Oleksii Uratkin <oleksii.uratkin@lge.com>
Tested-by: Oleksii Uratkin <oleksii.uratkin@lge.com>