Added max heartbeat interval to prevent integer overflow

When using big session timeout values, the interval value might
overflow and cause the setInterval() call to ping the server in a loop
without any delay.

This fix adds a maximum ping interval of 24 hours.

Forward port of 00ec5fc1935c946e846a8ff28491e5b5b017b3d7 from stable6.
Added unit tests for heartbeat interval min/max values
Merge pull request #9017 from owncloud/maxheartbeatinterval

Added max heartbeat interval to prevent integer overflow