Add start point in Storage::checkPolicy()

Storage::checkPolicy() now accepts id of bucket to start
search with. Additional parameter (recursive) indicates,
if search should go down into encountered buckets.

Change-Id: I23ff8e044fc9ff0198183c335ffe845e75efe08b
Support NONE policy in storage

Change-Id: I80d28fee394c5e461bccf102b0d6f7b4ab243174
Support NONE policy in admin API

Change-Id: I8a54f020f2d69f9c0ad71773b8d32b09f6519b9e
Add missing 'struct' keyword in cynara-admin.h

Change-Id: I48405d368fb8a95a86d6c94df5c50a490869f1e4
Fix startup with half-populated db

In some cases, Cynara could start with half-populated database.
As this is potential security issue, we now make sure, that in case
of any error, Cynara will start with empty database and return DENY
for every request.

There are added tests revealing these potential issues.
Some test cases depend on specific state of Cynara's policy database
directory. These are now provided in cynara-tests package and placed
in /usr/share/cynara/tests/ during installation.
Test execution does not affect real database -- it uses above tests
path only, accessible by non-root users as well.

Signed-off-by: Aleksander Zdyb <a.zdyb@partner.samsung.com>
Signed-off-by: Pawel Wieczorek <p.wieczorek2@samsung.com>

Change-Id: Ia943f77a2a0c85f394c40dd10333a73df4d0c96a
Add source info to backtrace

This patch recovers putting source code information in backtrace.
Previous solution was based on binutils but its license is not
acceptable. This patch uses elfutils library licensed under LGPL3.

Change-Id: I1df0a54ac0702f08d876728b535fd0e172efca17
Remove instruction & stack pointers from backtrace

These pointers don't provide useful information but consumes
a lot of space in backtrace lines.

Change-Id: I063485334ad619d8bed6d617e5fb96673f3ce938
Move some definitions outside of cynara-admin.h

The consts and structs will be used by both cynara-admin
and upcomming cynara-offline-admin APIs.

Change-Id: I05e320e54ff9c6a16521318560de059c6928cbea
Add admin_check() prototype

Change-Id: I650cf0748479ec1646d20cd2b767e26905770116
Add adminCheck() method prototype in admin Logic

Implement external API using newly added method.

Change-Id: If086d8e33caaec87da5cbb2c25e6dd4163c01048
Add AdminCheckRequest class

Change-Id: I7be5c10c6905a0c4f561731a40288095c6a5e4d4
Split OpCheckPolicy into request and response codes

Improve log formatting and casting arguments.

Change-Id: I16f279b7fca61108f1627c9de2996dba84165ba6
Implement AdminCheck serialization in AdminProtocol

Change-Id: I6f52d98f21bcec0fc3db7db4d3ba83fb05153b76
Implement AdminCheck in service's logic layer

Change-Id: Ia4adbbb8403af6341dc4451bd2440d86a72177d8
Implement AdminCheck in admin library logic layer

Change-Id: I3b404514dbccd1829c2850b0f0f1b2dfe15d8ea9
Introduce cynara-offline-admin API

cynara-offline-admin is a special administrative API,
which allows to alter Cynara's database directly
on filesystem.

Change-Id: I47365889f2afc05ee8a40aeee5bd3bb1de22dccd
Extract storage code into libcynara-storage

libcynara-storage is an extrenal library containing
C++ symbols used in cynara itself as well as
in upcomming libcynara-offline-admin.

Change-Id: I56ce83339ec3bc1b17cc54e3ba5f3863316117fe
Replace @file description different than filename

Not all @file descriptions matched corresponding filenames. This
affects Doxygen, as it ignores such documentation comments. Patch
fixes these Doxygen @file commands.

Change-Id: I047ea1bde6c13ff2dd6ec90ea61abb2faaf7aaac
Add extra asterisk to file description comments

File description comment blocks lacked an extra asterisk for JavaDoc
style. This affected Doxygen as it couldn't process these documentation
comments. Patch does not affect license comment blocks.

Change-Id: Ic0222b821b242b5d318c7cefce1865952ba6ccb5
Replace old Aleksander Zdyb's email address

Change-Id: I39dd94fe49039cdafeedbd1098ae72247b3f1fbd