Optional systemd journal logging
Merge pull request #16 from 3M3RY/master

Systemd journaling support
Systemd notify support
Fix build in Debian GNU/Hurd.
Automatically find Sqlite3 - removed option to disable it.

This means Sqlite3 is now mandatory.
Install uhub-passwd also.
Merge pull request #18 from tehnick/fix-build-on-hurd-i386

(tehnick) Fix build in Debian GNU/Hurd.
Merge branch 'master' of https://github.com/3M3RY/uhub
Don't poll the connection monitor if there are no connections added.

This caused the backends to return an error code, which
in turn ended the mainloop. However, several other things
also might occur in the main loop, such as DNS lookups which
come prior to creating any connections that in turn would be monitored.
Created a connection establishment API.

This API provides transparent asynchronous DNS lookups
with both IPv4 and IPv6 support, and in addition will try
to connect to all addresses until one of them work.

This implements the "happy eyeballs" algorithm provided that the client supports IPv6
and that the DNS records provides both IPv6 and IPv4 addresses.
Re-factored the ADC client code to use the new connection establishment API.
Make sure we compile release builds with NDEBUG defined (to disable asserts).
Added a python version of the NMDC redirector.
Added an ADC hub redirector written in python.
Detect if system is big endian (e.g. PPC64)
Cleaned up all list iterations, added macro named LIST_FOREACH.

Previously you would have to do something like this:

for (type foo = (type) list_get_first(list); foo; foo = (type) list_get_next(list)
{
    /* code */
}

Now, you can instead write this as:

LIST_FOREACH(type, foo, list,
{
    /* code */
})

Basically, boilerplate stuff including the casting is gone.
Cleaned up usage of linked lists and added missing functionality.

- Added a list_remove_first() which is generally better than list_remove()
  provided you want to remove the first element.
- Added a list_append_list() to append and move all nodes from one list to
  another.
Simple compile fix.
Removed redundant debug printf.
Clean up white space.