provider/maas: fix SupportedArchitectures

Backport PR 754 and as well as support for getting hardware characteristics from MAAS. The latter was needed to make the code in the PR work.

We were querying simplestreams to determine the set of
supported architectures. This is inappropriate, since nodes
are not provisioned from images in simplestreams.

Instead, we do one of two things, depending on what is
supported by the MAAS server:

    list all nodegroups, and list boot-images for each; OR
    list all available nodes, and extract architectures from them

Fixes https://bugs.launchpad.net/juju-core/+bug/1365135