Better space optimization, flavor of parallelism 

I moved from an array to an hash using uthash (I like it because it is just an header file and not a library) and added some parallelism using OpenMP.
Unfortunately I own a 32 bit OS, so I changed the Makefile for testing purpose.