ENH: passing colors (and other optional keyword arguments) to violinplot()

I'm really glad that matplotlib now has a `violinplot()` function, but I find the current implementation a bit annoying to customize, since the only way to change the colors, alpha values etc. is to modify each artist after creating the plot. One would ideally want to be able to pass in any arbitrary keyword arguments for the `PolyCollection` and `LineCollection` artists in each individual 'violin', but there's a trade-off between flexibility and simplicity.

I think a reasonable compromise is to have the option to specify individual fill colors for each violin (like the `color` kwarg for `hist()`), but to have only a single dict for all the other optional kwargs for the fills and lines. For the time being I've stuck to the default colors/alpha values in the original implementation, but it might make more sense to leave these defaults unspecified so that they can be set according to `rcParams`.
@tacaswell 
> If it needs to have rcparams added, then add rcparams.  On one hand
rcparams is growing or of control, but if we want to make the defaults
configurable there is no way around the size.

OK, you mean just to hard-code them in `rcsetup.py`? Is there any particular section you'd like them in?

> In principle the user should be able to pass in lists to cycle all of the
artist properties, not just the color.

I agree that would be nice, but I think that trying to design the API to allow the user to pass a sequence for every possible keyword argument to either `LineCollection` or `PolyCollection` is going to massively overcomplicate things. For starters, any kwarg to a single `LineCollection` or `PolyCollection` that is already iterable will be ambiguous, since it won't be clear whether the whole sequence should be passed to all violins, or whether individual items belong to different violins*.

I'm suggesting a compromise: I think there's a strong argument for having the option to pass a sequence as the `color` argument (as in `hist()`), but I suspect there won't be many users who will want to do the same for linestyles, alphas etc.

---

\* In fact, the color kwarg to `hist()` (and my proposed one to `violinplot()`) already suffer somewhat from this ambiguity - if the user passes a string or a tuple representing a single color, it will be treated as a sequence of values, one per histogram/violin.