Reuse MutableNode implementation in extractor

--HG--
rename : A-vs-An/WikipediaAvsAnTrieExtractor/AnnotatedTrie.cs => A-vs-An/WikipediaAvsAnTrieExtractor/MutableNodeExtensions.cs
extra : amend_source : 193e1935d49884c931b3f88a82da9dd675b24b64
Minor cleanups
Improve a/an word extraction to avoid problematic cases like "Triple-A classification"
Split out dictionaries so I can easily experiment with them in linqpad.

--HG--
extra : amend_source : 3c44b2c4d2ea6c9aac36d8c2caba6cc0a5023c8d
Make a whole bunch of stuff public for linqpad testability.

This isn't really what I want to release, so before I do so I need to either hide all these dependencies, or stick em in an "internal" namespace.
Fix inane bug.
Print a count before an count to be consistent with nuget lib's convention
Only accept capital A/An at the start of a sentence.
Single quotes are parts of words like Xi'an & Chang'an.
Remove dead code
Strip wiki markup such as ''a'' and '''a''' since those aren't articles but faux-math.
Perf optimization: don't actually append the terminating " " to every word but implicitly add it in the IncrementTrie operation.
Simplify (+improve) simplification:

Rather than track each nodes minimum occurence, difference & ratio,
instead track diff^2 > k * occurence.
This way, small ocurrences need a (relatively) large diff, and larger occurences
need a relatively smaller diff.  Minimum occurence > k, at which point the diff must be minimally k too.
(minor) bugfix: use a thread safe collection for progress reporters
This only affects how progress is reported, not a serious bug, but if the program starts really slow
the old way could in theory crash (occurs in debug mode sometimes) because the reporters aren't all added at
the first instance (1 second) the reporters are used.
Don't allow seperation of article from word by parenthesis.
This avoids some false positives that cause noise.
Fix markup stripper: colon is allowed.

Previously, any link with a colon in the target was stripped.  That's excessive;
however, Category and translation links are still stripped, but only if they're not explicitly text.