Refactor

Started on settings and DSL's, here's 3 integrations -- this is just an example to get some crib and get back to work.

I tried picking 3 different integrations with different needs:

  - amplitude: the most simple one.
  - churnbee: requires `userId`
  - mixpanel: requires custom validation for `apiKey`.

Let me know what you think!, here are the relevant issues:

  - https://github.com/segmentio/integration/pull/25
  - https://github.com/segmentio/integration-tester/pull/19

> note: tests fail on travis because the tester is changed a bit, but tests for the 3 integrations are passing.

cc @calvinfo @gjohnson 
ah yeah I think I like that. It's a little bit magick-y but if the integrations are all the same then it'll make it easier for the integrations team