[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.


1. ThreadA into RemoveBlock(), and got info for blockId1
2. ThreadB into DropFromMemory(), and got info for blockId1

now Thread A, B  all want got info.sychronized

B got, and drop block(blockId) from memory, and this block is use memory only, so it remove from blockinfo. and then release the lock.

then A got, but info is already not  in blockinfo.

Did I have miss sth or misunderstand sth? may dropForMemory and removeBlock can't happen at the same time?