Remove superfluous requirement for principal units only

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 address the above stated issue of not being able to use `juju run` against subordinates in an environment.