Cleaned up MessageAuthCode and added more tests