Refactor state handling code.

Separate juju and maas state throughout the code to make the code handling state more explicit.

Rename pegasus.parse_state to update_machine_info and do not build a list of [Machine, MaasMachine] which is not used anywhere.

Update some documentation strings

Minor pep8 line-length and whitespace fixes

In gui.py, ControllerOverlay: promote update_and_redraw to a member function for readability.

Update test_pegasus to match api changes, tests still need much work.
Further simplify state variable usage

Avoid unnecessary initial state polling

Simplify construction of gui objects that either don't need juju state or will be immediately refreshing it.

Be more explicit with naming state variables, and check class of state passed to charm
add initial poll back in because PegasusGUI.init_machine needs juju state.

Ideally we'd just move init_machine to the NodeViewMode class that also needs the state, but this is simpler because it's async.
Use correct state var in member func
fix incorrect keyword args to charm init
Merge branch 'master' into state-refactor
Fix remaining ref to importlib instead of import_module directly.

Signed-off-by: Michael McCracken <mike.mccracken@canonical.com>
Merge pull request #15 from mikemccracken/state-refactor

Refactoring juju & maas state handling in gui and charms