### What happened?

I'm sorry I didn't weigh in on #11277 before it was merged. I'm thinking of this specifically for how to get this properly consumed by the bindings as per #11443 

2 things to bring the grid code more in line with other endpoints.
1. Use POST if there is info to send to an endpoint instead of query string
2. Return payload needs to be nested inside a `value` key.

Current implementation of file endpoint is:
```
POST /session/:sessionId:/se/file
file: <zippedFile>
```

To minimize confusion, I think the new feature should use `files` instead of `file`:
```
POST /session/:sessionId:/se/files
{fileName: <filename>}
```
and for #11458 
```
GET /session/:sessionId:/se/files
```

### How can we reproduce the issue?

```shell
n/a
```


### Relevant log output

```shell
n/a
```


### Operating System

n/a

### Selenium version

trunk

### What are the browser(s) and version(s) where you see this issue?

n/a

### What are the browser driver(s) and version(s) where you see this issue?

n/a

### Are you using Selenium Grid?

trunk
import java.util.ServiceLoader;
import java.util.Set;
import java.util.logging.Logger;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
import static org.openqa.selenium.remote.HttpSessionId.getSessionId;
import static org.openqa.selenium.remote.http.Contents.asJson;
import static org.openqa.selenium.remote.http.Route.combine;
import static org.openqa.selenium.remote.http.Route.delete;
import static org.openqa.selenium.remote.http.Route.get;
import static org.openqa.selenium.remote.http.Route.matching;
import static org.openqa.selenium.remote.http.Route.post;
/**
 * A place where individual webdriver sessions are running. Those sessions may be in-memory, or
 * only reachable via localhost and a network. Or they could be something else entirely.
 * <p>
 * This class responds to the following URLs:
 * <table summary="HTTP commands the Node understands">
 * <tr>
 * <th>Verb</th>
 * <th>URL Template</th>
 * <th>Meaning</th>
 * </tr>
 * <tr>
 * <td>POST</td>
 * <td>/se/grid/node/session</td>
 * <td>Attempts to start a new session for the given node. The posted data should be a
 * json-serialized {@link Capabilities} instance. Returns a serialized {@link Session}.
 * Subclasses of {@code Node} are expected to register the session with the
 * {@link org.openqa.selenium.grid.sessionmap.SessionMap}.</td>