Going classy with the logging plugin

Um this is a big commit that's actually ported from a bunch of work on a client project, so not as clean as it should be probably.

1. We get classy now just to clean things up

2. We introduce internal environment conditionals. By default we log all emails but don't show the admin area for the site. Using the provided filters we can override that with functions that really define the URL's for our different environments.

3. This also moves from plugging WP_Mail to using the phpmailer_init hook. wp_mail really isn't pluggable when we come from password resets so this gets around that. Now to stop sending of emails we clear the PHPMailer class of email addresses so there is no one to send to.