@Description: Fires a function repeatedly on a timeout expressed in milliseconds or seconds
@Param: Object o Timeout can be in either seconds or milliseconds
@Returns: Object Returns an object that has a stop method to end the repeated firing
@Example: