User ctrl refactor - breaks up large methods, moves some logic into model

Includes missing methods from backup for travis to pass

fix missing code, failing specs

keep params handling in the controller.
Merge pull request #1581 from railsaholic/salvage_users_controller_refactoring_from_pr_1499

User ctrl refactor - breaks up large methods, moves some logic into model