Light refactoring of the User model

Two small changes.

DRY'd up `regular?` and refactored `update_visit_record!`. Changing `updte_visit_record!` also meant that I could remove the `seen?` method.

Tests obviously still pass and I've left this as two commits since I'm slightly less certain about the change to `update_visit_record!`