Worked more on rewriting hash.c and got a sum function to work using llvm

I changed most of the rest of hash.c to fit my style of c and using data
and sexps for types. I think I still need to do a bit more to fully
integrate things but Its getting there.

I got sum to work with llvm ir, I ended up taking a pointer to the
lisp_addcall fxn_proto, creating an sexp from that, casting that to a
long[2] and using that to pass the function parameter for reduce.
Its a bit complicated but I think I can probably trim it down a bit.