UsersController: Improve method _sendEmail()

- Reusable across the controller
- Fix error when sending email forgot password.
Cache: Change back to use prefix

The following caching scenario is broken due to 5377f55c754:

Blocks with visibility path set is not cached correctly. This is due to
codepaths that generate different cache files is not entered in CroogoAppModel
since 'prefix' is not set.