Better JMRI emulation

Fixes:
1) Both server and client now send and receive JMRI JSON messages,
regardless of server type (i.e. node emulates JMRI and node now caches
the JSON objects rather than its own format)
2) JMRI and server object value/state conversion is now consolidated in
ServerComms.js
3) Various data handling robustness improvements

Additions:
1) Clients can now request list objects from JMRI and handle the
resulting response
2) JMRI Variable Helper page to identify possible problems in setting
up static JMRI tables

Bugs/ToDos:
1) Node server can not process/emulate the JMRI list commands
2) Bug introduced where clicking through turnout/block authorization
states is not handled properly (node only?)