First attempt at trying to prevent the double user race-condition

This is a difficult bug to reproduce. The principle of this patch is to
try and leverage the unique index on the `member_id` column in the
mapping table to recognise that a race condition has occurred.
Unfortunately WordPress doesn't seem to enforce unique constraints on
either email, or username.

Consider processes A and B trying to create a WP user for the Memberful
member "Joe":

* (A + B) load and detect that a mapping doesn't exist for the member
* (A + B) detect that there are currently no users with the same
  email address as Joe
* (A + B) create a WP user for "Joe" with the same email address and
  username, which is allowed due to lack constraints on the users table
* (A) then creates a mapping for the member to the user it created
* (B) attempts to create a mapping for the same member, but because
      `member_id` is the primary key for the table MySQL prevents the
      insert complaining about a dup primary key.
* (B) recognises this error, and loads the user that process A created

refs #90
Fix syntax typo, refs #90
Make the error code for duplicate users more descriptive #90
Ensure the wp-admin/user.php file is included for wp_delete_user()

refs #90
Log duplicate user creation in the error log #90
Remove debug lines #90
Return a proper WP_Error instance when we can't update the mapping

refs #90
Clean up passing of the dup user to the error log refs #90
Merge pull request #92 from memberful/90-prevent-user-creation-race-condition

90 prevent user creation race condition