Extended blocking

This is a proposed feature put forward by Kudu.

Extended blocking would be an extension (as in extended, not as in plugin) to the current blocking and $wgRevokePermissions systems.

Summary
To simplify the idea, without going into the technical specifics:
 * The block page would no longer revoke hard-coded rights like emailing or editing. Instead, the blocking administrator will be able to select any number of rights to revoke.
 * Several "block presets" will be available, which are sets of one or more rights to fill in. These can be loaded and then customized. There are several defaults, and further ones may be configured using an interface message medium.
 * When Special:Block is loaded, the page will only show presets, and not the whole rights list to select from. By the click of a button, the rights list will be shown.
 * By default, only the rights that that are available to the user will be shown. With another click of a button, the full list will be shown.
 * Anonymous only, autoblock and username hiding will still be available and behave the same way.
 * The "Prevent account creation" and "Prevent user from sending e-mail" options will be gone - instead, one would have to revoke the associated rights.
 * All "regular" blocks will be converted to blocks with editing disabled. Also see above for account creation and email.