Make HttpServer interface more precise to reduce copying.

OnWebSocketMessage receives an std::string, so now it can be moved.
SendOverWebSocket accepts a base::StringPiece data, so now it can
come from anything that provides such bytes (e.g. a vector of bytes),
not just from std::string.

This change is similar to
https://chromium-review.googlesource.com/c/chromium/src/+/1525276
and
https://chromium-review.googlesource.com/c/chromium/src/+/1525405
which I submitted earlier.

Change-Id: I8a4eed11f46867158b67f24953ffcf801b6bf4b7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1526695
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Johannes Henkel <johannes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#641762}
9 files changed