Fix 'first release' to not singularize to 'first releases'. This was happening because Lingua::EN::FindNumber finds ordinal numbers as well as cardinal. Release a new module, Lingua::EN::Number::IsOrdinal to help with this situation and use it here.
Refactor and cleanup the code. Replace some of the ugly hacks with more general heuristics. Add the $prefer_nouns global variable, defaulting to 1, which treats verbs as nouns in some situations if true. This allows phrases like 'source splits' to work correctly. Much better number handling, in both number and word form.
Adds the following tests to t/bugs.t: test_phrase '2 dot', '2 dots'; test_phrase '2 acknowledge', '2 acknowledges'; test_phrase '2 at sign', '2 at signs'; test_phrase '2 left brace', '2 left braces'; test_phrase '2 right brace', '2 right braces'; and makes them pass.