Refactored some code to use the logger more extensively, but also having issues with the logger in general on windows.
rearranged some stuff in the logger, apparently .send must have .recv, which the opposite is also true, making a .send and .recv on the same rank impossible. Also, since an isend can happen quickly, it appears that the logger loop will get the correct number of .isent objects, but only receiv the latest (so, if i isend 'hi', 'hello', 'bye', really quickly, 'bye' will print 3 times). The logger thread now has a list for backlog from the same process, it doesn't have a lock to make sure the array is properly appended, so it could be better.
Small fix for concatenating a bunch of messages.
Implemented @mut.parallel, and got tests working.