Dynamic headers

Add ability to dynamically add headers from a MongoDB or PHP Report when using datasets.  Here's an example:

```js
printjson([
  {
    title: "Dataset 1",
    headers: [
      {
        "header": "Chart",
        "value": {

        },
        "rows": [
        
        ]
      }
    ]
  }
]);
```

For headers that are dataset aware (Formatting, Chart, Rollup, etc.), the `dataset` property is automatically set before parsing the header.

Charts only work when the `has_charts` option is set on the report.  This option loads the required Google libraries. When using normal Chart headers, this option is set automatically, but when you use dynamic headers, you have to set it manually since the report needs to know before it runs.

```js
// OPTIONS: {has_charts: true}
```