feat(metrics): Add metrics for signup, preverified signup, signin, hide the resend button.

@kparlante - can you see if this is a bit closer to what you were looking for?

@nchapman or @zaach - could one of you do a pass over this as well?

Add:
* login.complete - for a user who signs in successfully.
* signup.preverified - for users who attempt to sign up with a preVerifyToken
* signup.preverified.complete - users who successfully sign up with a preVerifyToken
* signup.complete - users who complete the signup flow of any type.
* confirm_reset_password.resend - users who attempt to resend the password reset email.
* confirm_reset_password.too_many_attempts - when we hide the "Resend" button for password reset users who have tried too many attempts.

Hook up the debounce code to the password reset.

issue #1559
fixes #1147
This seems a bit weird and inconsistent. Why the switch from dashes to underscores?
I did a wee bit of CSS parsing and found the following results that don't match this friendly regexp (`/^[a-z\d#+=>\"\*\^\[\]\-\.\:,\ ~\s]+$/i`):

```sh
$ node index.js

.change-password .password-row, .complete_reset_password .password-row
.avatar_camera canvas
.avatar_change .gravatar-logo
.avatar_change nav
.avatar_change nav a
.avatar_change nav span
.avatar_change nav span:after
```

I'll file a separate issue and we can discuss.