Client Login

This feature adds the framework for client authentication. Now, clients can register for accounts and login with a username and password to the client portal. The feature include several sub-features

### Features

  * Client login (via new sign-in page)
  * Client registration
    * Email address verification for self-service registration
    * When viewing a ticket, users are encouraged to register for an account or sign-in to view other tickets
    * Registration can be disabled, which will use the legacy ticket access link page
    * Registration can be closed so that only staff members can register client accounts
  * Login can be required for clients to create new tickets
  * Email from unregistered email addresses can be optionally rejected
  * New tickets via the web portal can be disabled (if registration is disabled and sign-in is required)
  * Ticket links in emails now give access to exactly one ticket (show related tickets is retired)
  * Clients have a time zone preference, and all times are shown in the client's preferred time zone
  * System time zone is pre-selected for both new clients and new staff
  * Client login supports password reset via email (with configurable template)
  * Client sign-in page supports a configurable header and title
  * Client registration page and email templates are translatable and configurable
  * Staff login page supports a configurable banner
  * New staff accounts can be accessed without a temporary password (reuses the password reset feature)
  * New "Access" settings page with consolidated settings for authentication and access settings

### Review Requested for

  * Template and view file naming conventions
  * Content phrasing, especially with respect to the new content
  * Look and feel as well as workflow
  * Intuitiveness
  * Misleading links, pages, etc.
  * Missing prompts, labels, headers, etc.
  * Migration of existing data and settings after upgrade from <= 1.8.2
  * Lint and code quality