Conditionally restrict communication
- if a test function is passed in, only allow communication if the test returns true
- provide test function with the messageEvent object as a parameter
- test case to ensure that allowed function properly restricts communication
- updated readme