Component groups

**Incomplete**.

Opening this now so you can track the progress of it and contribute if wanted.

Screenshot:

![screenshot 2015-01-01 14 34 58](https://cloud.githubusercontent.com/assets/246103/5592359/6316e75e-91c3-11e4-8213-1b36283cba83.png)

All that's needed for a component group is a "name".
should be `use SoftDeletingTrait, ValidatingTrait`.