Fix a bug when generating footnote ids

The bug occured when the user used the same footnote ID schema
as mdast (`footnote-#`), but also inline footnotes. And mdast
would generate a footnote ID for the latter inline footnote that
could overwrite the block-level definition.
Merge branch 'bug/parse/fix-generating-unique-footnote-ids'
Fix a bug when nested footnotes contain formatting

The bug occurred because a for-in loop check which keys exist
_before_ the loop, and when new keys are added later, the loop
new keys are not iterated over (my bad...).

By using an array for the keys, inline footnotes (with
markdown formatting) can now occur in block-level
definitions.
Merge branch 'bug/parse/formatting-in-nested-footnotes'
Add fixtures for stringification of inline- and reference-style footnotes
Add tests for incorrect reference footnote options
Move internal copy method over to `lib/utilities.js`
Add support for stringification with reference footnote options
Add documentation for stringification with reference footnote options
Merge branch 'feature/stringification/preferred-footnote-style'