Added functions to simplify getting and setting request fields

The functions that were added are `websocket_req:get/2` and `websocket_req:set/2` and can be used in the following way to retrieve values from the websocket request:
```erlang
[Protocol, Path, Host, Key] = websocket_req:get([protocol, path, host, key], Req).
```
And in the following way to set them:
```erlang
Req1 = websocket_req:set([{continuation, undefined}, {continuation_opcode, undefined}], Req0).
```