Add/closeio

Here's an integration of close.io. 

A few things to note:
- The integration requires the presence of an email for an identify(..), group(..), or track(..) call.
- When identify(..) is called, I first query for the Lead, which is the parent of a Contact, by using the user's email. If that query doesn't return a result, I then query the Close.io Lead endpoint for the company name. If there is a result from the company name query, I create a contact representing that user under that company.
- When group(..) is called, I query for the group using an email address.

Ok, that should do it. Let me know what I can improve on in this integration.
The facade abstraction is broken with `context.traits` currently, since those could exist on any call, therefore any trait should be on the outer facade methods. Facade only defines `.prototype.email` for the `Identify` call, so this would weed out only identify calls. But it's not great to check for method existence in the `.enabled` method since it'd be better just to define methods that the integration works with. 

Instead, the best we can do currently is use `Facade.prototype.traits` (https://github.com/segmentio/facade/blob/master/lib/facade.js#L217) and check if email exists inside that object. So I would remove the `.enabled` method completely and check whether email exists inside `.identify` and `.group`.

```js
Close.prototype.identify = function (identify, settings, callback) {
  var email = identify.email();
  if (!email) return callback(new Error('Email is required'));
  // ..
}

Close.prototype.group = function (group, settings, callback) {
  var email = identify.traits().email;
  if (!email) return callback(new Error('Email is required'));
  // ..
}
```

Sorry this is really confusing, server-side persistence will make this a lot easier.