<!--- 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 using a classful network boundary for a network, the router will not show "mask x.x.x.x" in the configuration. Thus the module will think a configuration change is needed, not fully idempotent.

##### 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 = /Users/joshv/Github/ansible-using_ios/ansible.cfg
  configured module search path = ['/etc/ansible/library']
  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
DEFAULT_GATHERING(/Users/joshv/Github/ansible-using_ios/ansible.cfg) = explicit
DEFAULT_HOST_LIST(/Users/joshv/Github/ansible-using_ios/ansible.cfg) = ['/Users/joshv/Github/ansible-using_ios/hosts']
DEFAULT_MODULE_PATH(/Users/joshv/Github/ansible-using_ios/ansible.cfg) = ['/etc/ansible/library']
HOST_KEY_CHECKING(/Users/joshv/Github/ansible-using_ios/ansible.cfg) = False
INTERPRETER_PYTHON(/Users/joshv/Github/ansible-using_ios/ansible.cfg) = /usr/local/bin/python3
RETRY_FILES_ENABLED(/Users/joshv/Github/ansible-using_ios/ansible.cfg) = False
```

##### 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 -->
Advertise networks 198.51.100.0/24
          networks:
            - prefix: 198.51.100.0
              masklen: 24

<!--- Paste example playbooks or commands between quotes below -->
```yaml
    - name: "TASK 1: Setup iBGP Peer"
      ios_bgp:
        config:
          bgp_as: 65500
          router_id: 10.0.0.3
          log_neighbor_changes: true
          neighbors:
            - neighbor: 198.51.100.2
              remote_as: 65500
              activate: true
              timers:
                keepalive: 15
                holdtime: 45
                min_neighbor_holdtime: 5
              description: R4
          networks:
            - prefix: 198.51.100.0
              masklen: 24
            - prefix: 203.0.113.0
              masklen: 24
          address_family:
            - afi: ipv4
              safi: unicast
              neighbors:
                - neighbor: 198.51.100.2
                  activate: yes
                  next_hop_self: yes
        operation: merge
      register: ibgp_peer1
```

<!--- 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 second run would be idempotent and not change. I'm getting a changed message instead of OK.

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

<!--- Paste verbatim command output between quotes -->
```paste below
            "commands": [
                "router bgp 65500",
                "network 198.51.100.0 mask 255.255.255.0",
                "address-family ipv4",
                "no auto-summary",
                "exit-address-family",
                "exit"
            ],
            "failed": false
```

I'm thinking of how to take a stab at this in the coming weeks if it isn't already a quick easy fix. Small low priority issue...
#
#
import re
from ansible.module_utils.six import iteritems
from ansible.module_utils.network.common.utils import to_list
from ansible.module_utils.network.ios.providers.providers import register_provider
from ansible.module_utils.network.ios.providers.providers import CliProvider
from ansible.module_utils.network.ios.providers.cli.config.bgp.neighbors import Neighbors
from ansible.module_utils.network.ios.providers.cli.config.bgp.address_family import AddressFamily
from ansible.module_utils.common.network import to_netmask
REDISTRIBUTE_PROTOCOLS = frozenset(['ospf', 'ospfv3', 'eigrp', 'isis', 'static', 'connected',
                                    'odr', 'lisp', 'mobile', 'rip'])
@register_provider('ios', 'ios_bgp')
class Provider(CliProvider):
    def render(self, config=None):
        commands = list()
        existing_as = None
        if config:
            match = re.search(r'router bgp (\d+)', config, re.M)
            existing_as = match.group(1)
        operation = self.params['operation']
        context = None
        if self.params['config']:
            context = 'router bgp %s' % self.get_value('config.bgp_as')
        if operation == 'delete':
            if existing_as:
                commands.append('no router bgp %s' % existing_as)