<!--- 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
```
description:
      - The C(backup) argument will backup the current device's active
        configuration to the Ansible control host prior to making any
        changes. If the C(backup_options) value is not given, the backup
        file will be located in the backup folder in the playbook root
        directory or role root directory if the playbook is part of an
        ansible role. If the directory does not exist, it is created.
    type: bool
    default: 'no'
  comment:
    description:
      - Allows a commit description to be specified to be included
        when the configuration is committed. If the configuration is
        not changed or committed, this argument is ignored.
    default: 'configured by edgeos_config'
  config:
    description:
      - The C(config) argument specifies the base configuration to use
        to compare against the desired configuration. If this value
        is not specified, the module will automatically retrieve the
        current active configuration from the remote device.
  save:
    description:
      - The C(save) argument controls whether or not changes made
        to the active configuration are saved to disk. This is
        independent of committing the config. When set to C(True), the
        active configuration is saved.
    type: bool
    default: 'no'
  backup_options: