Fetch schema at runtime

:bee: :bee: :bee:
Don't ship, yet.
:bee: :bee: :bee:

This is an experimental feature whereby the current API schema can be loaded at runtime:

```javascript
var Heroku = require('heroku'),
    heroku = new Heroku({ token: process.env.HEROKU_API_TOKEN });

Heroku.loadCurrentSchema(function (err) {
  // `err` indicates that the schema failed to load. Ignoring it
  // will fall back to the vendored schema.
  if (err) throw err;

  heroku.apps().list(function (err, apps) {
    // etc.
  });
});
```

I'm not entirely sure this is a worthwhile feature, but I'm leaving the PR here so that I don't forget about it entirely. It still needs tests, validation, etc.

This would probably be better implemented by immediately fetching schema when the module is loaded and creating a global schema promise for the entire module that the `request` function gets called after.