realized serializing a hash table is to much work, decided to try to
compute a few more things at compile time(eg hashes)

I thought I could just mmap memory for my symbol table and then read it
back but yeah, pointers, even to mmaped memory are determined at run
time, the pointers into an mmaped region don't corrspond to offsets in
the file on disk.

I've decided to try do do as much work for initPrims at compile
time (this really just means precomputing hash values) and initialize
and populate the initial obarray in an unsafe way since I know I wont
get duplicate keys or anything in the prims.
added a little program to compute the fnv hash of strings given as its arguments