Added MESI protocol and other changes

1. Updated the Proc MSI function to update the memory transaction within
the function rather than in fill line
2. Added MESI bus classes and required functions