Unify the handeling of the login and logout redirect Ref #4142

### Issue
JTracker: http://issues.joomla.org/tracker/joomla-cms/4142
Gh: https://github.com/joomla/joomla-cms/issues/4142

Login redirect don't work for external URLs and currently we use a simple text field to store the value.
I would vote for changing the behavior on the com_users login form to the behavior that we have on mod_login that only internal urls are allow and use a dropdown to select it.
This is a workable solution 

### How to test
1. apply patch
2. create a new menu itm with the com_users login view. (not mod_login ;))
3. choose a login redirect page with the dropdown
4. choose a logout redirect page with the dropdown
5. save
6. login by using this menu itm
7. make sure the redirect is correct
8. logout by using the menu itm
9. make sure the redirect is correct

### This is B/C save

The old way is that we use a string containing the redirect url that stored in the params the new way is to store the ID.
This part of code will handel it:
```php
$itemid = $params->get($type);

if (is_numeric($itemid))
{
[...]
}
if ($itemid != '')
{
		// For B/C reasons
		// The value in the param is not a number and not null
		// so the param store a old value like a URL and it will used.
		$url = $itemid;
}
```
https://github.com/zero-24/joomla-cms/blob/patch-10/components/com_users/helpers/login.php#L62-68

If the params stores a old value like a url it will be used. If it store the id it also works.

### Possible B/C break

if someone override one of these files (the views):
https://github.com/zero-24/joomla-cms/blob/patch-10/components/com_users/views/login/tmpl/default_logout.php
https://github.com/zero-24/joomla-cms/blob/patch-10/components/com_users/views/login/tmpl/default_login.php

They need to change the line
```php
<input type="hidden" name="return" value="<?php echo base64_encode($this->params->get('logout_redirect_url', $this->form->getValue('return'))); ?>" />
```

to

```php
<input type="hidden" name="return" value="<?php echo $this->redirect; ?>" />
```

##### Question

Is this a B/C Issue so this need to wait for 4.0 or can we add this to 3.3/3.4?
If it is a B/C Issue can we handel this any how?

### Other mirror changes

- Some mirror CS issues specifically on the default.xml file.
- Move the TFA function (getTwoFactorMethods()) to UsersHelperLogin
You are breaking B/C here. The:

```php
$this->params->get('login_redirect_url', $this->form->getValue('return'))
```

Means that the view can have a forced redirect on view paramters but also accept dynamic redirections. If in my component I check that the user is not logged I can redirect it to the login view adding a return URL so once user is logged comes back to the page he was trying to access.