Add a list action.

Move the data dereference into the two actions which need it
so we don't throw in the list method which doesn't.

This isn't ideal; we use the same template as the register
calls so the available elements are returned in a nested
'result' array.
Don't log all listed elements.

Helps with layout problems since the list is so long.
Stub out a web page.

Simple node application to proxy the element updates from the tlm.py
json server over socket.io. The web page Builds and updates a list
of elements it's seen with 'current' values.

N.B. tlm.py uses the local host clock at parse time for timestamps.
These will be roughly correct for live telemetry, completely wrong
when playing back a recorded file.