audio: Cleanup scanner code and support live sources

- Make attributes internal with _ naming
- Cleanup handling of min durtion. Min set to None disables the check.
- Check state change result for no preroll which indicates a live source which
  must transistion to playing to get tags etc.
Merge pull request #599 from adamcik/feature/preroll-live-streams

audio: Cleanup scanner code and support live sources