Remove profile

Updated (ready for review)
These are not the only lines that this function is changing. It was the exact same code in three functions, so I couldn't leave it triplicated. Actually the first three lines in the `authorizedRequest` function do exactly what you suggested

      var credentialsResult = emailPlugin.getCredentialsFromRequest(request);
      if (_.contains(emailPlugin.errors, credentialsResult)) {
        return emailPlugin.returnError(credentialsResult, response);
      }
      var email = credentialsResult.email;
      var passphrase = credentialsResult.passphrase;
      var key;
      if (withKey) {
        key = request.param('key');
      }

      if (!passphrase || !email || (withKey && !key)) {
        return emailPlugin.returnError(emailPlugin.errors.MISSING_PARAMETER, response);
      }

There are two things that make me very uncomfortable about this:

* It has a boolean parameter that is cryptic to understand
* The callback has 5 arguments

I wasn't trying to be clever, I just couldn't figure out an easier way to handle this with as little a change as possible and no duplicated code