Moved taskHeap to grouille package.

Not focusing on priority queue for now.
Reorganizing using struct and interface embedding.

Runtime errors because interfaces that are map keys must be hashable,
i.e. not contain any slices, functions of maps, whereas most structs
used here contain maps.