Extend the SCM code
Parse the scmurls, understand the git hash parts, make the checkout()
method actually check out the given hash, add various properties, make
allowed_scm URLs optional, and drop the common repo code.
Signed-off-by: Petr Šabata <contyk@redhat.com>