hw: initialize Platform_thread::_main_thread right

Ref #766
hw & arm: use sp to hand out main UTCB pointer

Also don't hand out UTCB pointers to cores main thread and to threads
other than main threads.

Ref #766
hw: use generic crt0.s for progs other than core

Use '__initial_sp' instead of '_main_utcb' to receive a main threads
UTCB pointer outside core.

Ref #766
base: provide BSS boundary marks in genode.ld

This enables us to use the generic linker script for
base-hw also.

Ref #766
hw: use generic genode.ld

Ref #766
crt0 cleanup

- use the generic 'crt0.s' for Linux
- move the read-only '__dso_handle' definition into the '.text' section
- move the '__initial_sp' definition into the '.bss' section
- remove the '_main_utcb' definition

Part of #766.