##### SUMMARY
Since `add_host` and `group_by` actions only modify the runtime inventory, hosts/groups/vars added by them don't survive a `meta: refresh_inventory` call (since that call completely clears the runtime inventory). 

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
InventoryManager

##### ADDITIONAL INFORMATION
After some internal discussion, the general consensus seemed to be that this behavior is an undesirable default. The `add_host` and `group_by` actions should manage a more persistent state independent of the runtime inventory, then apply their changes to the running inventory. When a `meta: refresh_inventory` occurs, the normal dynamic inventory clear/refresh should happen, then reapply the add_host/group_by state. This should probably be the default behavior, but a config switch or a different `meta` action (or an arg to it) to emulate the current behavior could also be created if necessary.

return self._inventory.groups
    @property
    def hosts(self):
        return self._inventory.hosts
    def add_host(self, host, group=None, port=None):
        return self._inventory.add_host(host, group, port)
    def add_group(self, group):
        return self._inventory.add_group(group)
    def get_groups_dict(self):
        return self._inventory.get_groups_dict()
    def reconcile_inventory(self):
        self.clear_caches()
        return self._inventory.reconcile_inventory()
    def get_host(self, hostname):
        return self._inventory.get_host(hostname)
    def _fetch_inventory_plugins(self):
        ''' sets up loaded inventory plugins for usage '''
        display.vvvv('setting up inventory plugins')
        plugins = []
        for name in C.INVENTORY_ENABLED:
            plugin = inventory_loader.get(name)
            if plugin:
                plugins.append(plugin)
            else:
                display.warning('Failed to load inventory plugin, skipping %s' % name)
        if not plugins:
            raise AnsibleError("No inventory plugins available to generate inventory, make sure you have at least one enabled.")
        return plugins
    def parse_sources(self, cache=False):