Expand Memory Facts in facts.py

This fixes problem originally discussed here: https://github.com/ansible/ansible/issues/8035

As discussed in the issue tracker the output now looks like the following:
```
        "ansible_memory": {
            "nocache": {
                "free": 395,
                "used": 197
            },
            "real": {
                "free": 37,
                "total": 592,
                "used": 555
            },
            "swap": {
                "cached": 0,
                "free": 2047,
                "total": 2047,
                "used": 0
            }
        }
```

And it includes the old top-level facts to preserve backwards compatibility.