lex: s/scanrune/read_rune/
s/is null/== null/g

this bothered me lol, i just want it to be consistent
check: fix completeness/size logic for structs

and other related stuff
check: require array element be complete object
eval: move into check
parse: fix hex float parsing
c: improve README
hareconv: initial-ish commit i guess
check: replace CONSTANT with CONSTEXPR_*

I think this is kinda incomplete-ish but I've had this unstaged just
kinda there for so long so like sure yeah it's fine
parse: make switch exhaustive
Remove no longer relevant "harec bug" comments
Use opaque
ast: add idents_free and idents_dup

Satisfies new pointer assignability requirements
Revert "check: recognize nullptr in type_is_pointer"

This'll fuck with type_deref. I should really just figure out what the
deal is in general with nullptr/nullptr_t

This reverts commit 065f7c257132f74545eba4faf02caa7ce109f634.
check: recognize nullptr in type_is_pointer
Update TODOs
check: qualify array member rather than array itself