ose: Fix check for HAVE_OSE_SPI_H
ose: Create OSE application

Create an specific OSE application that mainly contains documentation
around the OSE specific part of Erlang/OTP.
to_erl: Fix handshake ^R -> ^L code comments
erts: Refactor common parts out of run_erl and to_erl

This is in preperation for writing ose version of run_erl and to_erl
ose: Port run_erl and to_erl
ose: Refactor global variables to ppdata

This is needed because when starting multiple processes
from the same shell command they will see the same
global data if using status variables.
ose: Add -block option to run_erl ose docs
ose: Add fair scheduling yields

This is needed on OSs that do not do round robin scheduling
of threads.
ose: Update ddll interface after rebase to 17.0-rc1

Also deleted all the copy-paste stuff
ose: Skip building tests for skipped apps
ose: Remove receive in debug

Sometimes scheduler 1 should go in here and it will have signals,
so remove this. If needed later a check to see that fsem is used
for scheduler 1 is needed.
ose: Eliminating delays when trying to open files

When opening filers on not mounted volumes the default
timeout on OSE is quite big and since at startup we load
something like 20 beam files this slows down startup by
as much as 50 seconds.
ose: Added Enea copyright header to lcf files.

Also removed softkernel lcf files.
ose: Cleanup POLL_SCHED_1 code

Now schedulers 2..N make sure to wake sched 1 if they
find that all io has been consumed and sched 1 is
sleeping. Before sched 1 was spinning in sys_schedule
waiting for sched 2..N to finish consuming io jobs
crypto: Add rand_seed function

This function is needed on OSs that do not automatically
initialize the PRNG seed.
ose: Fix support for crypto

To enable it you have to modify the OSESSL variable in the
ose xcomp file.
ose: Do not use spinlocks on OSE

This is because it is very easy to deadlock/livelock inbetween
processes on OSE.
ose: Start using ppdata for tse key
ose: Yielding the cpu is done "the OSE" way
ose: Thread priorities configurable from lmconf

The pattern used for getting the priority from the lmconf
is based on the name of the process created. The pattern is:

ERTS_%%PROCESS_NAME%%_PRIO

with the %%PROCESS_NAME%% replaced by the prefix of the process
the priority applies to. eg:

ERTS_SCHEDULER_PRIO=24

applies to processes with name SCHEDULER_1, SCHEDULER_2 etc.