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

Similarly, I don't think that we strictly _need_ a check here since the `remove(id)` operations are idempotent.  It might be nice to log a warning if the block has already been removed, but that might not be necessary since this is a background cleanup call.