Features/jsonpayload

This fixes #309 and #311.

A new JsonPath module has been added which implements basic JSONPath and returns string values for valid path expressions.

I've changed the behavior of MessageTemplate to handle PIDs that are floats (ie: "532.00" as well as "532").  This makes things slightly easier as JSON only specifies a number type instead of separate float and int types.