Remove superfluous requirement for juju run against only principal units

Currently, with `juju run`, only principal units are allowed to receive run requests, barring subordinates from the list of allowed units which can have commands executed against with `juju run`. This change removes that requirement allowing just units that have an assigned machine to receive run events.

Error that was occurring previously:

```
marco@home:~$ juju run --unit subordinate/0 "config-get debug"
ERROR subordinate/0 is not a principal unit.
```

This change aims to correct this behavior. After compiling and bootstrapping the following results when running `juju run` against a subordinate:

```
marco@home:~/go/bin$ ./juju run --unit subordinate/0 "config-get"
debug: false
```

As far as I can tell, from my testing, this has not created any regressions and addresses the above stated issue of not being able to use `juju run` against subordinates in an environment.
lines 91, 93, and 95-7 all return unchecked errors -- please assert they're all nil, it's much nicer than panicking.