[WIP] JSON Deserializer

Targets #151

This is highly WIP. Please review the interface definitions before I
start implementing this stuff!
@neithernut I had to modify this to be able to set the name of the command without doing ugly casts. SYN.