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)
Because it's a mess to deal with the stringified function. It already has newlines, returns, tabs, spaces, and such in it. To get proper tabbing I'd have to replace all newlines with newlines and our tabs, all the while accounting for the tabs that are already there. I'll give it a go if you'd like, but I just thought that this would be the less messy way.