Export data

Adds data sets, data subsets, and query actions to export. This required pulling in the latest master.

Data is not actually hooked up to anything, but should be available and accurate. This includes data subsets changing with query actions.

Query actions don't support templates (neither do property actions at this point, and trigger data hasn't been implemented yet).

The idea with 'subscribing' to data subset changes is that maps and such would add a call back to the data subsets ```onChange``` list.

There's probably a bit of general cleanup and formatting needed (this seems to be the case for export in general) but it should be in a good enough state to start an initial review and hopefully good enough for someone to start using data soon.

(Second try because of Git Hub oddness)
Does putting the function here like this actually stringify it? It looks like it tabs one too many times, but obviously that's preferable to rewriting the code.