##### SUMMARY
When doing a harmless apt install for a package, this might uninstall other packages and break stuff heavy, especially if there are lots of pending upgrades.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
apt

##### ANSIBLE VERSION
```
ansible 2.8.2
  config file = /home/alexg/mw-config/ansible.cfg
  configured module search path = [u'/home/alexg/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /home/alexg/.local/lib/python2.7/site-packages/ansible
  executable location = /home/alexg/.local/bin/ansible
  python version = 2.7.15+ (default, Jul  9 2019, 16:51:35) [GCC 7.4.0]
```

##### CONFIGURATION
```
DEFAULT_CALLBACK_PLUGIN_PATH(/home/alexg/mw-config/ansible.cfg) = [u'/home/alexg/mw-config/ansible/plugins/callback']
DEFAULT_CALLBACK_WHITELIST(/home/alexg/mw-config/ansible.cfg) = [u'zabbix']
DEFAULT_HOST_LIST(/home/alexg/mw-config/ansible.cfg) = [u'/home/alexg/mw-config/inventory']
DEFAULT_ROLES_PATH(/home/alexg/mw-config/ansible.cfg) = [u'/home/alexg/mw-config/roles']
DEFAULT_STDOUT_CALLBACK(/home/alexg/mw-config/ansible.cfg) = nice_failures
```

##### OS / ENVIRONMENT
target server was a debian machine, pending an upgrade stretch->buster

##### STEPS TO REPRODUCE
Just running something like
```yaml
  - name: "Install some packages"
    apt:
      name: vim
      state: present
      update_cache: yes
```
can make the underlying apt uninstall some packages, depending on the current apt status. In this case installation of 4 basic packages on the machine with 600+ packages pending upgrade caused apt to uninstalled the VM hypervisor...

##### EXPECTED RESULTS
Need more control on dependency handling:
default should be to install package + requirements, but never uninstall other packages. That should get a separate option.
Alternative would be to fail when there is a uninstall going to happen, or just fail when there are pending upgrades at all.

##### ACTUAL RESULTS
Uninstalled libvirtd, shtudown of 5 VMs...Can't reproduce right now, because had to rush to fix it.
I guess this is obvious behaviour when you run apt install -y $package.
description: output from apt
    returned: success, when needed
    type: str
    sample: "Reading package lists...\nBuilding dependency tree...\nReading state information...\nThe following extra packages will be installed:\n  apache2-bin ..."
stderr:
    description: error output from apt
    returned: success, when needed
    type: str
    sample: "AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to ..."
'''  
import warnings
warnings.filterwarnings('ignore', "apt API not stable yet", FutureWarning)
import datetime
import fnmatch
import itertools
import os
import shutil
import re
import sys
import tempfile
import time
import random
import time
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_bytes, to_native
from ansible.module_utils.urls import fetch_file
APT_ENV_VARS = dict(
    DEBIAN_FRONTEND='noninteractive',
    DEBIAN_PRIORITY='critical',