Don't check unload queue before ticking things anymore.

In commits 71a238ee and c8591397 we added checks while ticking to ensure
we never ticked anything in a chunk meant to be unloaded. We did this to
prevent these chunks being removed from the unload queue and leaked.
However, this causes a ridiculously large number of lookups on the queue
for a somewhat rare occurance. We also now have the chunk GC which will
take care of these leaked chunks when they do happen. With this in mind
we now remove these checks which removes almost all uses of the
LongHashSet backing the unload queue.
Don't try to light chunk repeatedly when we aren't able to do so.

When a chunk is loaded the server tries to ensure it has its initial light
calculations done before sending it to the player. In order to do this
the server requires the chunks bordering this chunk be loaded as well. This
means chunks on the edge of a player's view distance will fail to light and
then try again every tick even though nothing has changed. The lookups to
see if lighting should be performed account for one third of all calls to
World.isChunkLoaded in a test setup. To reduce this cost we only attempt
to light again if the number of chunks loaded in the world has changed.
In testing this cuts chunk lighting calls to isChunkLoaded down to 1/300th
of their original total.
Entity ticking hack