Various enhancements on timeside.analyzer

- Add functions data(), time() and duration() to AnalyzerResult to easilly acces those values
- Modify Analyzer id to get results with the following format : 'AnalyzerID.ResultID' (e.g. 'aubio_temporal.beat', aubio_temporal.bpm', ...)
- Analyzer result() function now return only the results in the container that match the Analyzer id (e.g. 'aubio_temporal.*')
- Add Waveform Analyzer and Spectrogram Analyzers (mainly for demonstration and illustration purpose)
- some PEP8 refactoring (with autopep8)
- In timeside.analyzer.core, make Analyzer results() function returning an AnalyzerResultContainer (and thus providing serialization)