Fix for recording which data sets were mpi exchanged
For directly accessed op_dat do not do halo exchanges if not executing over redundant compute block
Adding hash table to gather performance information

Adding a fully working hash table to gather performance information
without collisions for the mpi+seq backend.
Minor cleanup
Removed compiler warnings
Minor compiler flag fix
Minor comments cleanup
g++ refuses %lf as double format and it is indeed obsolete