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>
Fixed recognition of "byzantine" names.

Names with curly apostrophes were being counted as non-byzantine,
and printed given-first with no space.

Closes #39.
Merge pull request #37 from jkr/quotepunct

Move punctuation inside of quotes based on locale
Moved isPunctuationInQuote to Text.CSL.Style and rewrote.

Previously it was in Text.CSL.Output.Pandoc.
It doesn't need to use generics and no longer does.
Make movement of pnuctuation inside quotes depend on style.

Instead of doing it for any en-US locale, we use the
punctuation-in-quote locale option, which has a default
per locale but can be overridden in the style.

This gives more flexibility.
Updated chicago-author-date.csl and locales.

Closes #34.