Don't allow heartbeats to collide

If heartbeats overlap, the measurement from the second one will be inaccurate and result in tmpnb trying to delete the same containers twice, or launch additional containers. This will keep a new heartbeat from beginning before the previous one completes.
If this routine dies anywhere before `self._heart_beating` gets set back to False, we'll starve ourselves right? Just a curiosity, are there any synchronization primitives people use with Tornado?