Sort outdated packages, cache results

Outdated packages are now sorted by package name.
To speed up the selection/pagination process a simple cache is used.
Caches the list of outdated packages for 60 seconds unless node filter
or repo list changes. Allows us to return results in a paginated from
to the client without a big speed impact.

Fixes #42

Signed-off-by: Christoph Kassen <c.kassen@telekom.de>
Optimize outdated package return values

When returning outdated packages, return a dict with upstream versions.
This holds all upstream versions as well as a key with the latest
version. Ensure that the search runs on as little values as possible
and properly returns an empty list or a list of packages.

Add a cache based on hashed node filter and repolist.

Add two more default repositories to make a default setup return
something meaningful.

Fixes #42

Signed-off-by: Christoph Kassen <c.kassen@telekom.de>
Update tests to reflect recent changes.

Splitted into a second commit.

Fixes #42

Signed-off-by: Christoph Kassen <c.kassen@telekom.de>
clean up comments
Merge pull request #44 from TelekomCloud/bugfix/issue_42

feature: query upstream package versions by repo
bugfix: sort outdated packages by name
Add status endpoint

Return package version and software name. Clients can poll this to
see if the backend is up and running.

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