bug fix: in some cases the sfnref template was not closed properly
Added LongNameError(Exception) and nofirst_fulllast method

Moved patterns (as module's global variables) to before class and function
definition.
MailOnline (also known as dailymail.co.uk) is the website of the Daily Mail
imporoving firstname_lastname()

Now firstname_lastname() supports 'Jr.' and 'Sr.' suffixes and adds to first name. Also
recognizes 'Mc' prefix and returns it with correct case.

Removed function capword and used str.title() instead.
Rewrote conditional statements. Using universal "urls" module.
Moved module's globals to the beginning. Introducing IsbnError()
"word-break: break-all;" style for textarea. rows="8"
Replaced specific site modules with "urls"