snf-ci: Use Synnefo's API to determine ssh port

The API provides port translation for every server. Use this to
determine the ssh port of 'demo.synnefo.org' and replace the hard
coded values in the code.

Closes #15
snf-ci: Add copyright note
snf-ci: Don't get schema files from local repo

snf-ci used to find the schema files in the local repo and upload them
to the testing server. This is wrong since one can choose to test a
different branch that the one he has currently checked out, so snf-ci
will use the wrong schema files.

This patch fixes this by instructing snf-ci to use the schema files it
finds in the repo cloned inside the testing server.
snf-ci: Test a pull request

Add option '--pull-request' to snf-ci. This option gets a Github
pull-request url (e.g. 'https://github.com/grnet/synnefo/pull/id') and
runs the testsuite in a sophisticated way.

Sophisticated means that it will not just check the remote branch from
which the pull request originated. Instead it will checkout the branch
for which the pull request is indented (e.g. grnet:develop) and apply
the pull request over it. This way it checks the pull request against
the branch this pull request targets.