Replace wrapper hack with simple inheritance

This changes the way that gofer works internally while exposing the same interface. It also allows a new, simpler way of using gofer:

```js
// ES6
import { Gofer, registerEndpoints } from 'gofer';

class Github extends Gofer {
}
// Because ES6 classes do not support value properties...
Github.prototype.serviceName = 'github';
Github.prototype.serviceVersion = '1.3.2';

// or just: Github.prototype.registerEndpoints({ ... })
registerEndpoints(Github, {
  emoji: function(request) { /* ... */ }
});
```

```coffee
# coffee-script
{ Gofer } = require 'gofer'

class Github extends Gofer
  serviceName: 'github'
  serviceVersion: '1.3.2'

Github::registerEndpoints {
  emoji: (request) -> # ...
}
```