openchangedb: Impelement Logger module

openchangedb_logger is an example for doing staff during backend calls.

It could be hooked during openchangedb.c:openchangedb_initialize()
to log requests and return value from openchangedb.c:openchangedb_initialize()openchangedb.c:openchangedb_initialize()openchangedb.c:openchangedb_initialize()
openchangedb: Load openchangedb_logger module based on config option

For now it is very simple and not flexibble, but this approach
will allow us to 'stack' backend chains.
test: Fix OpenchangeDB logger test to reset stats on every test

- allocate root mem context with talloc_new() - easier tracking
- use checked_feature() so we reset everything on every test
test: Add 'debuglevel' and 'option' command line options
test: Avoid ck_assert_int_xx() macro side effect in older 'check' versions

Older version of check tend to expand function calls twice.
So we get every test function called twice in travis-ci and
failures all the way.

Older check.h goes like this:
#define _ck_assert_int(X, O, Y) ck_assert_msg((X) O (Y), "Assertion '"#X#O#Y"' failed: "#X"==%d, "#Y"==%d", X, Y)
Merge pull request #119 from openchange/kamenim/ocdb-logger

OpenchangeDB logger module implementation