Fixes #48. Use clTimerDeleteAsync (async timer delete) over synchronous clTimerDelete API since entityfree or entity timer delete is called with amf mutex held that is also held during timer callback and both can deadlock if the delete happens while the timer callback is triggered or switches to running state.