Task: Fixes #4281 (rdkit/rdkit#4282)

org: rdkit
repo: rdkit
pr_number: 4282
issue_title: Fixes #4281
issue_body: Made the pyridine _N_-oxide pattern more specific and added a test.
resolved_issues: number: 4281
title: The normalization pattern for pyridine N-oxide is not specific enough
body: Reported by JP Ebejer:

```
from rdkit import Chem
from rdkit.Chem.MolStandardize import rdMolStandardize

m = Chem.MolFromSmiles('Cn1c(=O)c2nc[nH][n+](=O)c2n(C)c1=O')
m
```
![image](https://user-images.githubusercontent.com/5244385/123306106-29642c80-d521-11eb-8ec5-fb897a8b308b.png)
```
rdMolStandardize.Cleanup(m)
RDKit ERROR: [19:20:42] Can't kekulize mol.  Unkekulized atoms: 0 3 4 6 7
```

The molecule is not actually a pyridine _N_-oxide, rather the oxy tautomer of a _N_-hydroxypyridinium ion, but it hits the pyridine _N_-oxide normalization pattern because the latter is not sufficiently specific.

Reference solution:
fix_patch: diff --git a/Code/GraphMol/MolStandardize/TransformCatalog/normalizations.in b/Code/GraphMol/MolStandardize/TransformCatalog/normalizations.in
index 6b452219452..8aeb6b44d3e 100644
--- a/Code/GraphMol/MolStandardize/TransformCatalog/normalizations.in
+++ b/Code/GraphMol/MolStandardize/TransformCatalog/normalizations.in
@@ -16,7 +16,7 @@ std::vector<std::pair<std::string, std::string>> defaultNormalizations = {
      "[N,P,As,Sb;X3:1](=[O,S,Se,Te:2])=[O,S,Se,Te:3]>>[*+1:1]([*-1:2])=[*:3]"},
     {"Sulfone to S(=O)(=O)",
      "[S+2:1]([O-:2])([O-:3])>>[S+0:1](=[O-0:2])(=[O-0:3])"},
-    {"Pyridine oxide to n+O-", "[n:1]=[O:2]>>[n+:1][O-:2]"},
+    {"Pyridine oxide to n+O-", "[nH0+0:1]=[OH0+0:2]>>[n+:1][O-:2]"},
     {"Azide to N=N+=N-", "[*:1][N:2]=[N:3]#[N:4]>>[*:1][N:2]=[N+:3]=[N-:4]"},
     {"Diazo/azo to =N+=N-", "[*:1]=[N:2]#[N:3]>>[*:1]=[N+:2]=[N-:3]"},
     {"Sulfoxide to -S+(O-)-",