[SPARK-4714][CORE]: Add checking info is null or not while having gotten info.syn

[SPARK-4714][CORE]: Add checking info is null or not while having gotten info.syn
in removeBlock()/ dropOldBlock()/ dropFromMemory()
all have the same logic:
1. info = blockInfo.get(id)
2. if (info != null)
3. info.synchronized
there may be a possibility that while one thread got info.lock while the previous thread already removed from blockinfo in info.lock.
but one thing in current code, That not check info is null or not, while getting info.lock to remove block, will not cause any errors.

This comment actually refers to the `!info.waitForReady()` case, so I'd like to either move the comment or swap the order of these checks so that we check for `blockInfo.get(blockId).isEmpty` in the `else if` clause instead.