replaced .error with .warn to prevent foreman crashing

The reasoning here is that ruby's foreman treats stderr data as "this process has crashed" rather than "this process is writing to stderr", and will kill it off. We're using console.error in quite a few places to signal errors before gracefully failing without crashing the server process, so that's really bad. This PR replaces all the `console.error` instances in our server-side code with `console.warn` instances instead, which don't crash Foreman. All instances of `console.error` in client-side code have been left untouched.

To verify that foreman is nuts, create a `Procfile` with content `web: node test.js` and a `test.js` file with content:
```
console.log("log");
console.info("info");
console.warn("warn");
console.error("error");
```
then run `node test` to verify you see all four console statements, and also run `foreman start` to see it echo the first three, and then exiting with code 8

Fixes #2102