id is now optional for labelgroup widgets

if no id is supplied in the config, it will generate one.
Merge branch 'upstream/master'
Use a utility function to get the config id or auto generate one specific to the class

Done for LabelGroup, LineGraph, Carousel, Image and CaptionedImage. Still probably should be done for button, sketch, legend, barchart, slider...
a little formatting for the testing readme
Merge pull request #22 from mlippert/widget-refactor

config id is now optional for some widgets