Add networks= constraint

state/constraints: Networks constraints added

This adds "networks=..." constraint in the constraints
and state packages. The ability to specify networks
to include/exclude when selecting a machine to deploy
a service's unit with specified constraints. Both
positive and negative entries are supported and the
value of "networks=" is a comma-delimited list of
(juju) network names. Negative entries have "^" prefix.

Examples: networks=logging,^db,storage,^dmz

Means: use machines (if possible) on the "logging" and
"storage" networks and not on "db" or "dmz" networks.

No changes to cmd/juju/deploy or other commands yet,
this will come in a follow-up.

NOTE: This branch was migrated from Launchpad and
was already reviewed at https://codereview.appspot.com/93670046/