Manual merged of pull request 288

Restructure webinos folder hierarchy.

Jira issue: wp-508
Session variables are again exposed as it limit splitting functionality

- Code divided into smaller classes
- PZP websocket server requires now only 1 server
- It includes addition to run Synchronization Manager
- Separating out RPV code from the session code

Jira Issue: WP-545
Added support for adding PZP friendly Name via UI

Jira Issue: WP-296
Added support to get current webinos version

Includes also information to get commit id

Jira Issue: WP-386
Create the wrt folder

Create the wrt folder as a sub-folder of the PZP folder.

Jira issue: wp-472
Force set device name

Makes it possible to set the device name for a PZP with
--force-device-name=NAME upon startup. This is needed, so it's possible
to start more than one PZP on a single host as the device name will be
based on the hostname by default. The commit changes the various config
methods that are called to pass that custom device name and use it.

It became appearant that sometimes device name and friendly name are mixed
up and can mean the same. This commit changes the code for the PZP to only
use a device name, the friendly name might be only stored in the config
file, but never displayed. For the PZH friendly name is still essentially
the device name.

Also removes some no longer used arguments from the PZP start up script.

Jira-issue: WP-250
Fix configure service availability

Unregistering and registering services in the PZ from the PZH web
interface works again. Verious code refactorings were the reason for
breaking this feature.

Jira-issue: WP-448
Implementation of JSON File Synchronization

Instead of RSync code updated to Algebraic File Sync for JSON.
First message goes from PZH to PZP includes whole all JSON object hash.
Second message come from PZP to PZH with the object whose hash does not match.
PZH then detects changes using File Sync Algorithm, updates its own object and send updated object to the PZP.
Third message goes from PZH to PZP with updated object. PZP updates its Object accordingly.

Jira Issue: WP-21
Webinosjs provides information about connected pzp and pzh

Also added pzh disconnect event to inform pzp about pzh disconnect event.

Jira Issue: WP-492
Removed xml2json from package.json

Updated sync manager to use xml2js
Moved openid to optional dependencies

Jira Issue: WP-692
Enabled back PZP test in npm test

Jira Issue: WP-794
Webinos PZP moved to a separate repository

-includes wrt folder to include webinos and webinos.session
-includes new code to create certificates
-webinos_pzp to start pzp
-this can currently start a PZP but not stable enough