GPII-716: PCP's method for interaction with FM via WebSockets should be more declarative

Link to JIRA: http://issues.gpii.net/browse/GPII-716

This pull request is strictly connected with Websockets communication from PCP to FM (http://issues.gpii.net/browse/GPII-539) and is not related to the pilots.

The changes this pull request brings are:
 - "Save" button in PCP applies the changed settings directly to the system by using websockets. It doesn't use the logout+login mechanism (to eliminate the chance of unexpected issues),
 - "Save" doesn't save to the prefs server.

Once this pull request is in, there will be three more (short ones) for:
 - Making this change happen instantly after a change in the model, rather than by pressing Save,
 - Making the save button save to prefs server,
 - Making the "full editor" link forfeit the logout+login mechanism as well and start functioning as the save button + switching to PMT.
I think I'm a bit confused about how this part works. Could you please explain why the apply button would either emit or connect a request. I see that it's based on the state of that.socketConnected but I don't know why the same button would trigger both these events. Shouldn't we be connected before the apply button becomes available?