score: Rename _Scheduler_SMP_Update_heir()

Rename and move _Scheduler_SMP_Update_heir() to
_Thread_Dispatch_update_heir() since this function is not scheduler
specific.
score: Simplify SMP processor allocation

Avoid copy and paste and set the scheduler node state in one place.
score: Rename *_Node_get() to *_Thread_get_node()

This emphasizes that the scheduler node of a thread is returned and this
is not a function working with scheduler nodes like the other *_Node_*()
functions.
score: Add _Scheduler_Help()

Manage the help state of threads with respect to scheduling decisions.
score: Need for help indicator for scheduler ops

Return a thread in need for help for the following scheduler operations

- unblock,
- change priority, and
- yield.

A thread in need for help is a thread that encounters a scheduler state
change from scheduled to ready or a thread that cannot be scheduled in
an unblock operation.  Such a thread can ask threads which depend on
resources owned by this thread for help.
schedulerpriorityaffinitysmp.c: Add period at end of sentence
score: Implement scheduler helping protocol

The following scheduler operations return a thread in need for help

    - unblock,
    - change priority, and
    - yield.

A thread in need for help is a thread that encounters a scheduler state
change from scheduled to ready or a thread that cannot be scheduled in
an unblock operation.  Such a thread can ask threads which depend on
resources owned by this thread for help.

Add a new ask for help scheduler operation.  This operation is used by
_Scheduler_Ask_for_help() to help threads in need for help returned by
the operations mentioned above.  This operation is also used by
_Scheduler_Thread_change_resource_root() in case the root of a resource
sub-tree changes.  A use case is the ownership change of a resource.

In case it is not possible to schedule a thread in need for help, then
the corresponding scheduler node will be placed into the set of ready
scheduler nodes of the scheduler instance.  Once a state change from
ready to scheduled happens for this scheduler node it may be used to
schedule the thread in need for help.
smptests/smpmrsp01: Add and update test cases
score: _Scheduler_Thread_get_own_node()

Provide this function also for uni-processor configurations.
termios: PR2153: New low-level device API

Add a new low-level device API to Termios that passes the TTY structure
to the low-level device functions.  This greatly simplifies the
low-level device drivers since they are no longer forced to derive their
private data from the minor number.

It makes it possible to use the TTY low-level lock in the device driver
low-level functions which is necessary for proper SMP support.  For
example to set the attributes it is often necessary to perform a
read-modify-write operation on a control register used also by interrupt
routines.

A compatibility layer is provided to support device drivers using the
old callback functions so it is not necessary to modify existing device
drivers.
termios: PR1279: Use set attributes status
termios: PR1279: Use first open status
bsps: Basic console driver for Termios devices
bsps/sparc: Add and use shared APBUART console

Move the APBUART console driver support to the shared SPARC area so that
it can be reused by other BSPs.  Only the console driver initialization
is now BSP specific.
bsps/sparc: Move APBUART printk support
termios: Add rtems_termios_get_termios()
termios: Add rtems_termios_set_best_baud()
bsps/sparc: Set best baud in APBUART driver

This prevents failures of all tests using rtems_shell_wait_for_input(),
e.g. capture, termios, pppd, etc.
FreeBSD standard shell does not support substring expansion.

Switch to using awk to get a string of spaces.
score: Fix assertions