Move punctuation inside of quotes based on locale

If mvPunct encounters a quote followed by punctuation and then a note,
it hands the quote and punctuation off to a new function
`mvPunctInsideQuote` which deals with them
appropriately. `mvPunctInsideQuote` works recursively, to deal with
nested quotes.

The Locale has been added as a parameter to mvPunct, and this all occurs
only if the locale satisfies `isPunctQuotable`. Right now, only "en-US"
satisfies this function, but it is abstracted in case this needs to be
changed, or complicated, in the future.

Signed-off-by: Jesse Rosenthal <jrosenthal@jhu.edu>