Added user setup needed based on the system's registration settings
* Copied the register action's chunk of code used to setup the account
based on Setting.self_registration
* Extracted method for when onthefly_creation_failed
* Added tests to confirm the behavior