wait for mapping updates during local recovery

when the primary shard is recovering its translog, make sure to wait for new mapping introductions till the mappings have been updated on the master before finalizing the recovery itself
also, this change performs the mapping updates in a more optimized manner by batching the types to change into a single set and sending after the translog has been replayed
you mean the cleanup? yea, so I thought it made sense since there might be other blocking registered blocking operations on it, so might as well release them as quickly as possible