message: net: Add missing lock in ProcessHeadersMessage(...)
  Reading the variable mapBlockIndex requires holding the mutex cs_main.
  The new "Disconnect outbound peers relaying invalid headers" code
  added in commit and merged
  as part of two days ago did not lock cs_main prior to accessing
  mapBlockIndex.
  Github-Pull:
  Rebased-From:
diff: @@ -1250,8 +1250,8 @@ bool static ProcessHeadersMessage(CNode *pfrom, CConnman *connman, const std::ve
  if (!ProcessNewBlockHeaders(headers, state, chainparams, &pindexLast, &first_invalid_header)) {
  int nDoS;
  if (state.IsInvalid(nDoS)) {
  - if (nDoS > 0) {
  LOCK(cs_main);
  + if (nDoS > 0) {
  Misbehaving(pfrom->GetId(), nDoS);
  }
  if (punish_duplicate_invalid && mapBlockIndex.find(first_invalid_header.GetHash()) != mapBlockIndex.end()) {
  