<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
The current implementation of the edgeos_config module has changing behaviour for handling the stripping of single quotation marks.

So in review of this [line](https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/network/edgeos/edgeos_config.py#L197) the `item` var is defined with stripped single quotes. This is then used for a series of comparisons ending with the original non-stripped `line` var defined in the for loop being added to the `updates` list. Though on line [213](https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/network/edgeos/edgeos_config.py#L213) it uses `item`. This introduces a change of behaviour described below.

A potential method of addressing this is to use double quotes. Unfortunately these will be escaped meaning that Ansible will always report a change on existing text values. It does work for empty values like `plaintext-password`

```
set system login user test full-name "test user"
```
results in 
```
"set system login user test full-name test \"user\""
```

Another potential resolution of this is to remove the white space stripping all together and put the onus on correct command syntax in the hands of the user. 

When passing a single quote within a value Ansible correctly returns a valid error code
```
set system login user test full-name "test' user"
```
Results in:
```
Cannot use the single quote (') character in a value string
```

The only issue which the original stripping might of been added to address is when a hanging single quote is left. So if an invalid command line is passed through, Ansible will hang on the network connection waiting on input.
```
set system login user test full-name 'test' user'
```

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
[EdgeOS (edgeos_config) network module](https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/network/edgeos/edgeos_config.py)

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.9.2
ansible 2.10.0.dev0
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
Edgerouter 3/4

##### STEPS TO REPRODUCE

The following will be successfully added to the updates list including single quotes:

```
set system login user test level admin
set system login user test authentication encrypted-password <encrypted-value>
set system login user test authentication plaintext-password ''
set system login user test full-name 'test user'
```

With a delete command though it will be added via the delete logic stripping the single quotes:

```
delete system login user test
set system login user test level admin
set system login user test authentication encrypted-password <encrypted-value>
set system login user test authentication plaintext-password ''
set system login user test full-name 'test user'
```

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->

Both with and without a delete the config should be handled the same

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->

<!--- Paste verbatim command output between quotes -->
Adding the delete command results in Ansible failing in two ways. The `plaintext-password` will be invalid for having no value. The `full-name` will be invalid for having two values:

```
set system login user test authentication plaintext-password
set system login user test full-name test user
```
src = load_fixture('edgeos_config_src.cfg')
        set_module_args(dict(src=src))
        commands = ['set system host-name er01', 'delete interfaces ethernet eth0 address']
        self.execute_module(changed=True, commands=commands)
    def test_edgeos_config_src_brackets(self):
        src = load_fixture('edgeos_config_src_brackets.cfg')
        set_module_args(dict(src=src))
        commands = ['set interfaces ethernet eth0 address 10.10.10.10/24', 'set system host-name er01']
        self.execute_module(changed=True, commands=commands)
    def test_edgeos_config_backup(self):
        set_module_args(dict(backup=True))
        result = self.execute_module()
        self.assertIn('__backup__', result)
    def test_edgeos_config_lines(self):
        commands = ['set system host-name er01']
        set_module_args(dict(lines=commands))
        self.execute_module(changed=True, commands=commands)
    def test_edgeos_config_config(self):
        config = 'set system host-name localhost'
        new_config = ['set system host-name er01']
        set_module_args(dict(lines=new_config, config=config))
        self.execute_module(changed=True, commands=new_config)
    def test_edgeos_config_match_none(self):
        lines = ['set system interfaces ethernet eth0 address 1.2.3.4/24',
                 'set system interfaces ethernet eth0 description Outside']
        set_module_args(dict(lines=lines, match='none'))
        self.execute_module(changed=True, commands=lines, sort=False)