Separate dtors for {hash|int}map keys and values
Persistent compiler context
- intmap of cached ASTs for each compiled file to avoid duplicate compilation
- resulting in some changes to ptr ownership/lifetime
- astUsing only links to header if not compiled before