fix "money" triggers "one" "y"ear match

2ed82e7a59132956de5047e85f7c9c0ae6f1844f (by @oxan) would cause a test case of parsing `"money"` failed. The incorrect result is as if parsing "**one** **y**ear" because "oney" in "money".

The *spelled-out* should not match without spaces or word boundaries, because

```
money      -> oney      -> +1 year
 oney      -> oney      -> +1 year
xoney      -> oney      -> +1 year
xonethreey -> onethreey -> +1+3 year -> +4 year
```

The last case shows the current spelled-out may be too loose on matching.

My patch uses word boundaries on ends of spelled-out `numbers`, which would help pass the test case. However, it may not be good enough.

```
money   -> no match
mone y  -> no match
m one y -> +1 year
```