Improve machine models.

I Investigated whether or not we receive from core all
the info we require to handle containerization.
The results are satisfactory, and I've found our machine
models already handled most of the things.
In the future we might want to add the machine's Life
to the juju-core mega-watcher, but I'd wait for now
until we have better evidence for this requirement.

Add a parentId attribute (automatically populated when a new
machine is added to the db) storing the parent machine name.

Add methods to the machines model list to allow for filtering
machines based on their parent/ancestor.

Add PYJUJU DEPRECATIONs where required + some drive by comment
fixes.

No QA required.