Add configure script and Makefile

The configure script is POSIX sh and the Makefile is POSIX make.
Move highlight example to new subdir, add a Meson option for it
ast: add mrsh_node_for_each
test: make async test reliable
test: add basic async list tests
builtin/wait: fix use-after-free
shell/task/pipeline: fix assertion
test: pipeline with subshell has been fixed

Closes: https://github.com/emersion/mrsh/issues/100
shell: fix pipeline bangs
shell: fix pipelines
ast: add mrsh_node_get_* helpers
ast: add mrsh_node

This adds mrsh_node_type to all AST nodes. This makes it possible to implement
operations over the whole tree much more easily.
Rename node to and_or_list

This is the term used by the spec.
test/case: add description for each subtest
shell/job: fix job_by_id segfault on empty list
shell/task: fix background tasks making the shell exit
shell/task: destroy terminated jobs
shell/task: add pipeline bang
shell/task: add async tasks
test: add subshell assignment test
shell/task: fix subshell exit status