Add multi repo search

Scan multiple configured repositories for outdated packages. Provide
a single repository id or a comma separated list of id's as query
parameter to select multiple repositories. This will scan all listed
repositories for outdated packages.

Signed-off-by: Christoph Kassen <c.kassen@telekom.de>
Fix multi repo search

Optimize multi repo search with IN query and add upstream versions
to the outdated packages list.

Also add a select_provider method for repo parsing class selection.
This will be used in the unit tests to test independetly from repo
servers.

Signed-off-by: Christoph Kassen <c.kassen@telekom.de>
Add mock repository provider

The mock provider is used for unit testing the repository handling.
It makes the tests independent from any changes on external
repository servers.

Signed-off-by: Christoph Kassen <c.kassen@telekom.de>
Use mock provider in unit tests

Always test for a single package to keep test runtime to a minimum.
Use the mock provider to be independent of the ubuntu repos for apt.
The package.gz files are still used when setting up the repo, so one
can switch back to parsing real data.

Signed-off-by: Christoph Kassen <c.kassen@telekom.de>
Improve version parsing

Should handle all kinds of obscure version strings now.

Signed-off-by: Christoph Kassen <c.kassen@telekom.de>
Remove unused code

Signed-off-by: Christoph Kassen <c.kassen@telekom.de>
Change isnumberic to isdigit for Py2.7 compat

isnumeric is Py3.x only, change to isdigit for Py2.7 compat.
We still need to be compatible to 2.x Python versions.

Signed-off-by: Christoph Kassen <c.kassen@telekom.de>
Merge pull request #34 from TelekomCloud/feature/multi_reposearch

Multi repository outdated packages search