Make Environment implement ILightning.

Since the ISun instance can be deleted whereas the Environment instance
has a life span longer than the TerrainHandler, this prevents null
pointer dereferences.
Check if task queue is active before reloading.
Fix deprecation warning.
Fix issue with referencing deleted memory.

When shutting down, the signal, as defined in EmberTerrain, might be
deleted before the OgreTerrain class calls on waitForDerivedProcesses
which in turn might call on handleResponse.
Remove incorrect asserts.

If there's a background process in play which is adding an area, while
the terrain is shutting down, this is a totally valid situation. While
the mAreas collection then won't be empty when shutting down this isn't
an invalid state, since the terrain is shutting down anyways.