Update module to use hash_func.h from libkcore

- change name in copyright headers

- Fix problem in the allow_address() and allow_source_address() functions, they worked properly only with /0, /8, /16, /24, /32 netmasks so far. Related to bug #1888101, reported from Giovanni Coriasco - add a small testcase for the permission module

* Added two optional pseudo variable arguments to allow_trusted function that, if present, are used instead of request's source address and transport protocol.

- port database interface (almost) complete from 'const char*' to 'str' for more safety (e.g. not null terminated strings) and performance (save strlen calls in core and library code) - adapt existing modules to use the new interface - change bind_dbmod and use_table function to the naming scheme of the other functions of the API - port existing module to use 'str' values for database related parameters - if modules uses already 'str' functions internally, remove the unnecessary temporary variables - make functions and parameter that needs only locally be used static - introduce new column variables needed for the keys for modules that don't have them already, this could be used to make them configurable later on - add 'const' to more db related functions - fix postgres driver, async queries must be finished, otherwise the next one will not complete - smaller whitespace and formatting changes and cleanups all over the place - reviewed and tested with testcases, but probably not error free because of the change size