Add draft graph data structure - work in progress
Fix hashmap create invalud write memory bug

There was a bug while creating a hashmap, in particular when assigining
the function pointer to hashmap->compare, one shouldn't need to allocate
memory for a funtion pointer but valgrind complains of a invalid write
size of 8. Changing the malloc of a hashmap to be struct hashmap instead
of struct hashmap * (actual struct rather than pointer to a struct),
seems to have solved the problem.