added checks for provided formatter class
extracted check into separate method
added exception messages
Merge remote-tracking branch 'remotes/origin/accept_custom_formatters'