base: setup thread object for main thread in CRT0

For a main thread a thread object is created by the CRT0 before _main gets
called so that _main can already run in a generic environment that, e.g.,
catches stack overflows as a page-fault instead of corrupting the BSS.
Additionally dynamic programs have only one CRT0 - the one of the LDSO -
which does the initialization for both LDSO and program.

ref #989
fiasco: remove remains of once supported ARM port

ref #989
base: get rid of thread_bootstrap_empty.cc

The file is solely used in base-host so I moved it to base-host.

ref #989
base: down-size initial main-thread stacks

As the initial stack of a main thread is used only during startup,
I checked out which is the smallest size per architecture and
down-sized it to the value times two. That is:
x86_32: 32K
x86_64: 32K
arm:    32K

fix #989