Rework the internal lock interface

With this patch, the 'futex' syscall gets used for blocking and unblocking
of threads in the Linux-specific lock implementation.

The 'Native_thread_id' type, which was previously used in the
lock-internal 'Applicant' class to identify a thread to be woken up,
was not suitable anymore for implementing this change. With this patch,
the 'Thread_base*' type gets used instead, which also has the positive
effect of making the public 'cancelable_lock.h' header file
platform-independent.

Fixes #646.
libports: add missing import-libcrypto.mk

Fixes #669
libports: add libssh-0.5.4

Fixes #669
libports: add curl-7.29.0

For now the port is x86_* only because it depends on libcrypto which
is currently not available (as in tested) on arm.

Fixes #669
libports: add iconv-1.14

Fixes #669
nova: fix boot modules and command line bootstrap

Allocate ever an extra page behind the commandline pointer. If it turns out
that this page is unused, because commandline was short enough, unmap the
memory and put the virtual and physical regions back to the allocator.

Fix #664
nova: use bender by default

Bender fixes the serial output on modern PC hardware. Prior this patch,
it was used only when combined with pulsar. Now, we also use it when
booting via GRUB.
nova: Support upgrading kernel via 'make prepare'
noux_tool_chain_nova: Don't restrict to Fiasco.OC

Thanks to @alexab's recent work on base-nova and the NOVA kernel, the
test is expected to run successfully on NOVA too.
demo: Avoid debug message in demo/src/lib/mini_c

The "strncpy - not implemented" message appeared on the use of libpng.
Even though it did not cause trouble, spilling the log with such
easy-to-fix issues should better be avoided.
acpi: free mapping of rsdp before using rsdt/xsdt

Fix #635
omap_fb_drv: use usleep in 'Timer_delayer'

fix #670