title: Laravel 5.2.x Password Broker using Username as the Email Column name
body: <p>We're inheriting a CakePHP code base, and a schema.  Porting it to Laravel 5.2.x, but we have to maintain the schema where they use username in the schema instead of email.  So I'm trying to get password reset to work using the username column instead.</p>
  
  <p>I've pulled in ResetPasswords::sendResetLinkEmail into the PasswordController to overwrite it and validate on username instead of email, and pass in username to sendResetLink so the user can be authenticated:</p>
  
  <pre><code>public function sendResetLinkEmail(Request $request)
  {
      $this-&gt;validate($request, [
          'username' =&gt; 'required|email',
      ]);
  
      $broker = $this-&gt;getBroker();
  
      $response = Password::broker($broker)-&gt;sendResetLink(
          $request-&gt;only('username'), $this-&gt;resetEmailBuilder()
      );
  
      // ...
  </code></pre>
  
  <p>But, it throws an error after invoking the method on line ~91 in the PasswordBroker:</p>
  
  <pre><code>$token = $this-&gt;tokens-&gt;create($user); // line 91
  </code></pre>
  
  <p>Now I have no idea where this goes since it appears to be invoking an interface that is dependency injected into the PasswordBroker, but it is responsible for saving the password reset record.</p>