Communication

* USocket implementation
   * Just a wrapper on a TCPSocket to json with our JSON classes. For now, it's not that useful, but it will get better when we will have our Requests classes
* Bonjour implementation
   * It's a network scanner, it will use Zeroconf protocol to scan network. When it finds one it resolves it and add it to the platforms.
* Simulator implementaiton
   * Simple JSON spitter
   * I added nodemon so if you change anything while running, it will restart the simulator.

It's not that easy to test since it's networking stuff and the binding isn't done on System level but on device level. But, what you can do is:
* Start simulator
   * It's in node.js so: `npm install` to get dependencies, `npm start` to start simulator
* Uncomment the Network Scanner in main.cpp
* Start program
* Put breakpoints in UPlatform `read()` and see it populate the devices

I left a lot of qDebug() everywhere, for now. It's easier to see what's going on.

Sorry, might be easier to test later on when we have proper bindings...