Extracted a MoscaClient

As stated in #18, the `server.js` was becoming too crowded, and it was the right time to extract a MoscaClient.

Here it is, but it changes nothing in functionality.

@davedoesdev could you please skim through it quickly and check if it break some of your integration points?