Make UseRemote work for dev_appserver too.
Make UseRemote work for dev_appserver too.

Now interacting with remote_api is as simple as:

    ```go
    ctx := context.Background()
    if err := prod.UseRemote(&ctx, "localhost:8080", nil); err != nil {
      panic(err)
    }
    // ctx is usable with luci/gae
    ```

Also changes the context-derivation function signature to be safer, since the
client's context will always be valid, and can be used for things, such as
logging even in the error handling case.

This also makes UseRemote work when used FROM appengine to another appengine
app.

Fixes #36.

R=dnj@chromium.org, estaab@chromium.org, martiniss@chromium.org, vadimsh@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1557223002

luci/luci-go,luci/luci-go,luci/luci-go,luci/luci-go,luci/luci-go,luci/luci-go