New client & server API func ShareEnvironment

ShareEnvironment shares the current environment with the given user.
Under the hood, it adds an environment user to state.
Sorry, the method is called Fatalf, so

```go
c.Fatalf("wrong input structure")
```