doxygen: add include strip path

Tell doxygen to show include/osv/clock.hh as <osv/clock.hh>.
So for example, osv::clock::uptime will be shown as requiring
a #include <osv/clock.hh>. Without this patch, only the last
component of the header's name would be shown, i.e.,

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
demangle: add a "demangler" class

Add a third variant demangler interface, this one designed to be called
in a loop avoiding an allocation for each demangling - and instead just
growing the same buffer only when needed. This API was written by Calle.

This patch also adds full Doxygen documentation to all three demangling
variants.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
sched: allow sched::thread::sleep() in a shared object

Fix sched::thread:sleep(duration) so that the wait_until() part is
not in an inline function, so it can be used in a shared object
without crashes on lazy symbol resolution or page faults during
preemption disabled.

Fixes #499.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
Http Server: No need to search for question mark in the path

This code was left from the time the routes did the parameter splitting.
Now the path parameters is return without query parameters and after url
decode.

At this stage question mark can be part of the path and is not an
indication of the query parameters start.

Reviewed-by: Tomasz Grabiec <tgrabiec@gmail.com>
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>