Added ICat4 implementation for keepAlive. Refs #9089.
Added CatalogKeepAlive algorithm. Refs #9089.

- This allows external scripts and GUIs within Mantid to keep the catalog alive.
Execute KeepAlive when logged in. Refs #9089.
Output the keep alive algorithm. Refs #9089.

- Renamed login keepAlive property to prevent confusion.
Execute keepAlive every 20 minutes. Refs #9089.
Updated catalogLogout documentation. Refs #9089.
Cancel algorithm based on session info. Refs #9089.
Attempt to fix WIN build. Refs #9089.

- No need for this property to be a long as it's now in seconds.
Removed unnecessary thread use. Refs #9089.
Merge branch 'feature/9089_icat_keep_alive' into develop