getTileDataAvailable() handling for terrain providers

This is a tile loading optimisation for cameras that start near the globe based on advice from Kevin.  It is currently only implemented for the Cesium terrain provider which knows in advance which tiles are present.
Ah, I see `isDataAvailable` below in GlobeSurfaceTile.js.  Is that the right place?  I would expect to treat this as an abstract base class instead so all users do not need to check for the function.