ast: Use a single table of cached LST values shared by all threads

AST used to use a separate table of cached LST value for each thread, but
this resulted in potentially very few entries in each table, resulting in
poorer accuracy when interpolating. And the accuracy also depended eactly
on which thread got which cached values, and so accuracy varied from run
to tun.