Exposed setInterval on $keepalive service

This is particularly useful for situations when you need to update an interval at runtime.
An example would be a session token expiration where the next expiration time is provided by the session token itself every time a token is refreshed from the backend
I also return the $interval promise on the $keepalive.start() execution in order to plug into the promise architecture(and be able to tell whether or not the keepalive is currently running )