scanner: Switch to gst.pbutils.Discoverer and refactor API

- New API wraps gst.pbutils.Discoverer for mopidy use.
  - Custom scanner code removed.
- Callback based async API switched with simpler synchronous API
  - Scanner is feed one and one URI and returns the result or raises an error.
- Adds new ScannerError exception for error handling in scanner
- Limits local/scan_timeout to 1000-3600000 i.e. 1s to 1h
- Files with zero duration are now excluded.
- Mtime handling moved out of scanner so we can use it for streams etc.
scanner: Remove support for running Python on the mopidy/scanner.py file

See commit 1a02b4d17f072557cf7833970b77bc473e6b5494 for details
scanner: Review comments and flake fixes

- Move ScannerError to exceptions module.
- Subclass ScannerError from MopidyException.
- Fix import sorting.
Merge pull request #538 from adamcik/feature/gst-discoverer

scanner: Switch to gst.pbutils.Discoverer and refactor API
tests: Sort imports
docs: Update changelog