changed global env to using obarrays insead of uthash

It entailed a bunch of little tweaks and was a bit tricky, but there
wasn't anything major. I mean it was a big change and all but most of
the work was already done when I wrote the obarray code.