initial add of force Clef feature with optional override key
fixed override logic
minor cleanups
completed two outstanding to-do's

1. swap "or" with "hello" on login form when appropriate
2. create clickable secret URL on options page when user saves key
added disable lost password feature

On my own sites some botnets attack the lost password URL directly.
Thus in an effort to kick every last botnet to the curb and to go full
circle with true passwordless log in, I added a feature that, when the
user selects the option to force clef, password resets are disabled.
Minor wording edits

I reworked the text of the settings page to bring into parallel harmony
that which lacked the same and to clarify the three things that happen
when a user enables the force Clef option.
readme update

I thought the readme could use a refresh: added several more tags,
refreshed the headline, changed "Wordpress" to WP's preferred
"WordPress."
simplify, clean up, and secure

Simplified the settings page by (1) moving the API message beneath the
API settings header, (2) merging the two password settings sections,
(3) re-writing the password settings instructions.

Cleaned up my additions by using empty() where appropriate and by using
the API's built-in message system to display login errors.

Discovered slight security bug: when user has "disable passwords for
clef users" selected, he may nevertheless run the default lost password
reset. Even though exploiting this hole would require access to the
user's e-mail account, I think lost password resets should be disabled
for Clef users when this option is selected. Applied temporary fix for
the time being (i.e., when the option is selected, password resets are
disabled for all users).
updated login page after simplifying settings
password reset hole plugged

Added lostpassword_post action to disallow password reset requests for
Clef users when corresponding option is set in settings.
added uninstall action and reset button

1. new uninstall action.
2. new reset button on settings page
3. changed references to "wpclef" to use the constant defined in admin
class.
readme refresh & perfectionist polish on wpclef.php

When sleep aludes one, what better way to pursue her than to edit a
readme!
readme love

1. This is my penultimate editing workover of the readme.txt in order:
- to pass the http://wordpress.org/plugins/about/validator/,
- to bring editorial consistency to the file as a whole,
- to add a few links where appropriate,
- and to try to distinguish the Clef service in general and the WP Clef
plugin specifically.

In some of my wording choices I'm likely overstepping my bounds: the
Clef team needs to choose how it wants to "market" this plugin and
whether it makes sense to distinguish Clef and WP Clef.

2. There are a couple out-of-date items that would be nice to update
before pushing a plugin update: the Vimeo video still shows the old QR
code instead of the new (and enchantingly beautiful!) Wave; the
screenshots need to be updated to reflect the new settings.

3. Removed an extraneous include call to admin_intro.tpl.php in
wpclef.admin.inc (I presume this call and the file itself can be
re-added later if need be).
added 'Generate Override Key' button

Users can generate a secure, random override key by pressing the new
button.
cleanup from first review

Attempted to fix all issues noted in first review save one item: still
need to add delete clef id's on uninstall.
fixed "undefined index"

I may be wrong here, but I went with !empty() here instead of isset()
in case the user sets the key to zero or a blank string.
uninstall action finished

When admin-level WP user selects "delete plugin," WPClef deletes its
settings and deletes the clef_id's associated with users' profiles.
updates styling of login button for force no passwords
removes reset button from settings API util
switches option name to WPClef class