[core] Describe additional batch endpoints and better batching to cloud

This change moves the declaration of structures for each of the fields
we map from the human API to the device cloud to a yaml file as the syntax
is a bit cleaner (and it ensures a clean, declarative separation of
concerns).

I also modified the strategy for writing datapoints to the cloud to include
the streamid for each datapoint.  This is a poorly documented feature of
the device cloud that was added this past year.  The documentation online
is either out of date or just very poorly written.  In testing, I hit
an undocumented limited for which there is a workaround in software.