Improving plugin usage in CLI

## Multiple `--use` flags

This adds the ability to use `--use` multiple times, while still allowing comma-separated lists for backwards-compatibility.

```sh
# this
% duo --use duo-handlebars,duo-6to5,duo-myth ...

# can now be expressed as
% duo --use duo-handlebars --use duo-6to5 --use duo-myth ...

# or even
% duo --use duo-handlebars,duo-6to5 --use duo-myth
```

## Allow leaving off the `.js` for local modules

```sh
# this
% duo --use plugin.js

# can now be expressed as
% duo --use plugin
```

## Exporting an `Array` of plugins

This last change allows the inclusion of many plugins with custom config much more elegantly. For example:

**plugins.js**
```js
var es6 = require('duo-6to5');
var hbs = require('duo-handlebars');
var myth = require('duo-myth');

module.exports = [
  hbs(),
  myth({
    customMedia: false,
    calc: false
  }),
  es6({
    onlyLocals: true
  })
];
```

```sh
% duo --use plugins index.{js,css}
```

```js
var plugins = require('./plugins');

duo(...)
  .use(plugins)
  // ...
```

I think this is a solid solution to the problem of configuring plugins, which has come up several times before. This would normalize the behavior in such a way that both the API and CLI can effectively take the same argument and do the same thing. I think this pattern is really easy to understand and requires no new syntax or knowledge for the average node dev.
Just to be clear, I'm not opposed to changing this, just explaining that I made this choice based on what I saw [already](https://github.com/duojs/duo/blob/use/lib/duo.js#L430) in [place](https://github.com/duojs/duo/blob/use/lib/duo.js#L477). (and it was really easy to plug this in [here](https://github.com/duojs/duo/blob/use/bin/_duo#L320-L325))