<!--- 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
<!--- Explain the problem briefly below -->
When setting `next_hop_self: true` within the AF Neighbors, this does not get set.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
ios_bgp

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.8.1
  config file = None
  configured module search path = ['/Users/joshv/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.7/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.7.2 (default, Feb 10 2019, 15:44:18) [Clang 10.0.0 (clang-1000.11.45.5)]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
➜ ansible-config dump --only-changed
Time: 0h:00m:15s
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
MacOS --> Cisco IOS

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
- Created a playbook with `next_hop_self` set to true, it was not added
- Output shows that the neighbor is activated twice
- Checked `neighbors.py` file, the `next_hop_self` section is just a copy of the `activate` section (lines 165-172)

``` python
    def _render_next_hop_self(self, item, config=None):
        cmd = 'neighbor %s activate' % item['neighbor']
        if item['next_hop_self'] is False:
            if not config or cmd in config:
                cmd = 'no %s' % cmd
                return cmd
        elif not config or cmd not in config:
            return cmd
```


<!--- Paste example playbooks or commands between quotes below -->
```yaml
- name: "PLAY 3: Setup R4"
  hosts: r4
  become: yes
  become_method: enable
  tags: router_setup
  tasks:
    - name: "TASK 1: Setup BGP Peers"
      ios_bgp:
        config:
          bgp_as: 65500
          router_id: 10.0.0.4
          log_neighbor_changes: true
          neighbors:
            - neighbor: 192.0.2.5
              remote_as: 65510
              timers:
                keepalive: 15
                holdtime: 45
                min_neighbor_holdtime: 5
              description: R2 Uplink 
            - neighbor: 198.51.100.1
              remote_as: 65500
              timers:
                keepalive: 15
                holdtime: 45
                min_neighbor_holdtime: 5
              description: R3 conenction
          networks:
            - prefix: 0.0.0.0
              masklen: 0
          address_family:
            - afi: ipv4
              safi: unicast
              redistribute:
                - protocol: eigrp
                  id: "20"
                  metric: 10
              neighbors:
                - neighbor: 198.51.100.1
                  activate: yes
                  next_hop_self: yes
        operation: override
      register: output
```
<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
I'd expect that the command `neighbor 198.51.100.1 next-hop-self` would be in the commands

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
`neighbor 198.51.100.1 activate` was sent twice

<!--- Paste verbatim command output between quotes -->
```paste below
ok: [r4] => {
    "msg": {
        "changed": true,
        "commands": [
            "no router bgp 65500",
            "router bgp 65500",
            "bgp router-id 10.0.0.4",
            "bgp log-neighbor-changes",
            "neighbor 192.0.2.5 remote-as 65510",
            "neighbor 192.0.2.5 timers 15 45 5",
            "neighbor 192.0.2.5 description R2 Uplink",
            "neighbor 198.51.100.1 remote-as 65500",
            "neighbor 198.51.100.1 timers 15 45 5",
            "neighbor 198.51.100.1 description R3 conenction",
            "network 0.0.0.0",
            "address-family ipv4",
            "redistribute eigrp 20 metric 10",
            "neighbor 198.51.100.1 activate",
            "neighbor 198.51.100.1 activate",
            "exit-address-family",
            "exit"
        ],
        "failed": false
    }
}
```

cmd = 'neighbor %s update-source %s' % (item['neighbor'], item['update_source'])
        if not config or cmd not in config:
            return cmd
    def _render_password(self, item, config=None):
        cmd = 'neighbor %s password %s' % (item['neighbor'], item['password'])
        if not config or cmd not in config:
            return cmd
    def _render_ebgp_multihop(self, item, config=None):
        cmd = 'neighbor %s ebgp-multihop %s' % (item['neighbor'], item['ebgp_multihop'])
        if not config or cmd not in config:
            return cmd
    def _render_peer_group(self, item, config=None):
        cmd = 'neighbor %s peer-group %s' % (item['neighbor'], item['peer_group'])
        if not config or cmd not in config:
            return cmd
    def _render_timers(self, item, config):
        """generate bgp timer related configuration
        """
        keepalive = item['timers']['keepalive']
        holdtime = item['timers']['holdtime']
        min_neighbor_holdtime = item['timers']['min_neighbor_holdtime']
        neighbor = item['neighbor']
        if keepalive and holdtime:
            cmd = 'neighbor %s timers %s %s' % (neighbor, keepalive, holdtime)
            if min_neighbor_holdtime:
                cmd += ' %s' % min_neighbor_holdtime
            if not config or cmd not in config:
                return cmd
class AFNeighbors(CliProvider):