Branch for #3360 (authentication for web app)
OS X path to cpanm
moved 'begin()' to lib/MediaWords/Controller/Root.pm to get rid of "Action methods (begin) found defined in your application class, MediaWords. This is deprecated, please move them into a Root controller." warning
basic skeleton for plain text authentication
hashed and salted passwords via Crypt::SaltedHash
basic support for roles
default value for 'default_home_page' moved to MediaWords/Util/Config
UI, form validation for login / logout
removed pre-/post-salt (not actually used)
"change password" functionality
login form rewritten to FormFu
change password form rewritten to FormFu
moved DB-interacting auth code to MediaWords::DBI::Auth
single email sending helper (to avoid talking directly to SMTP and to unify of how the emails look like)
password reset functionality
explanatory message in the Dashboard.pm replacing an obscure exception
authorization via Catalyst::Plugin::Authorization::ACL; private controllers moved to Admin/ (because that way the access rules are simpler and it is possible to implement "deny everything for everyone, except allow this for that" scheme); at the time only dashboard, login and logout are public
list of all users
ability to sign off & delete users
HTML5 email / password placeholders to make forms more readable