tools: add uush

add a micro micro interactive shell which allows to just
run commands either in the foreground or in the background
using "&" appended to the command.
Useful for testing purposes, especially running directly
in loader.img before full usr.img build is available.
No cmdline arguments.

"uush" is a module, so you can add it to the image by using
make image=uush

Examples of use:

with just loader.img (AArch64):

./scripts/imgedit.py setargs build/release/loader.img --nomount /tools/uush.so
qemu-system-aarch64 -nographic -M virt -enable-kvm -kernel loader.img -cpu host -m 1024M

with full usr.img and scripts (x64):
./scripts/run.py -c 1 -V -e tools/uush.so

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
aarch64: handle more page fault cases

we need to handle access faults and permission faults
as well as translation faults, and not only for data
aborts but also for instruction aborts.

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
Cc: Jani Kokkonen <jani.kokkonen@huawei.com>