Move achievements classes into their own files to match all other classes in the plugin
Add typehinting for widget parse_settings() method
Add some missing PHP5 method visibility types
Add mor emissing PHP5 method visibility types
Split class/file-level phpDoc blocks for WPCLI commands. Also adds ABSPATH checks.
Fix WP-CLI output

Not sure when this broke. WP-CLI might have changed the order of its
parameters, maybe.
Tighten up type handling for extra safety in the WP-CLI 'users' class.
Class security review.

* Fix double esc_html'ing of widget titles due to WP core having
esc_html hooked to widget_title.
* Swap out all int typecasts to instead of absint(). Don't allow people
to set -1 limits for widget limit parameters.
* Make sure sanitize_text_field is always used on string inputs; it
does strip_tags() for us, amongst other things.
Consolidate calls to dpa_achievement_title() in the Featured Achievement widget.
Users component: better typecasting of option values when getting/setting for extra safety.
Add todo phpdoc to existing comment in Progress template file
Progress template: when strict checking posts_per_page value, cast optional parameter to int to help the comparision pass more often.
Users component: further tweaks to typecasting checks added in 1df69c557b75

Let's make the get functions always return the correct type, even if
people try to be tricksy be filtering the option
Use $_GET instead of the more general $_REQUEST where appropriate
Whitespace tidyup
Remove a bunch of functions that were ported from bbPress a few versions ago, but aren't used in core.

This helps keep the project codebase tidy.
Prepare the achievements post type search value for WP_Query appropriately
Achievements component security audit: properly escape value from redemption widget
Use handy $usersearch global when displaying the search results text on wp-admin Achievements > Users.
Add post_type value to wp-admin Achievements > Users screen to fix searching