Fixes #90: Add new api to Monitor which takes a timeout and returns none or the packet