Export functionality

I'm starting to work on making exporting happen. Not at all ready to merge - I'm just curious what you think.
The canonical object-oriented way to deal with this is to have an `ExportPlatform` abstract base class that knows how to, for example,

```java
public void embedJava(File javaFolder) {
    // do nothing by default
}

public void exportData(File dataFolder) {
    // do nothing by default
}
```

and then, later

```java
if (embedJava) {
    exportPlatform.embedJava(javaPlatform);
}
```