Replace over complex UnknownRecipient with simpler exception

BadRecipient is a more general excecption which is more useful.
Move the RecipientChecker to its own file

I'm about to add another one, so having this separate makes more
sense now.
Add a recipient checker which validates againt a list

This allows for easy checking of valid recipients.