~sircmpwn/hare unlisted

README.md: use correct build badge
Implement recursive types, somewhat
ha_type_unparse: overhaul

Delegate to ha_ast_scalar_type_unparse for scalar types and fix
unparsing of various aggregate types.
check: improve struct member type error message
hart1: make init/fini types more specific
driver: fix transitive dependencies

Fixes a bug where transitive dependencies in files which are not last
in readdir() order cause the build driver to look for the rest of the
module with the dependency in
config.sh: set $LD correctly
strconv::unsignedtos: implement size and uintptr
types::unsigned: add missing `size`
driver: replace wordexp with getenv

Also remove two obsolete usages of wordexp.h
gen: dereference: use the correct load instruction
gen: fix while loops whose body terminates
Add section to qbe data declarations

For later use
module.h: remove obsolete type
ha_expression: add location field
eval: don't abort on TODO branches
assert: set terminates if determinable
types: improve handling of ident aliases

This is a bit shitty but I don't really have a better idea so
Implement import aliases
Implement @noreturn attribute on functions
check: don't force stack alloc of captured locals

I realized that this isn't actually going to be a problem.