changing `ht-map` to return a list

Suggested by jfb on https://news.ycombinator.com/item?id=5613177
implementing `ht-each` and `ht-aeach`
removing redundant nconc in ht-map

nconc should have been nreverse here, but since iteration order for
hash tables is undefined anyway, there's no point
rewriting many functions in terms of ht-amap for clarity