deploy: Create the ddns and .ssh dirs

These dirs are needed to store the ddns and .ssh files created by
snf-deploy keygen. All these files should reside in the template dir
since are going to be moved to target nodes.

Add those dirs in .gitignore since we don't want to track any temp
files created if we run snf-deploy from source.

Update Copyright dates.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Add state dir and use it for status

Introduce new setting in [dirs] section of deploy.conf: `state`.
Override this setting with `--state-dir` option (useful when running
deploy from source).

This dir is currently used to store snf-deploy's `snf_deploy_status`
file, that shows which components on which nodes have been
installed. Do not update this file if `--dry-run` is used.

Additionally introduce `--templates-dir` option that overrides
`template` setting in [dirs] section of `deploy.conf`.

Note that override options do not modify the configuration files.
Changes are performed in the execution context of each snf-deploy
command.

To run snf-deploy from source use:

$ python setup.py develop
$ snf-deploy keygen -c conf -t files -s /tmp
$ snf-deploy all --autoconf -c conf -t files -s /tmp

Add the above setting to snf-ci's schema files.

Update Copyright dates.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy/ci: Small refactor regarding ssh/ddns keys

In case `keygen` founds the keys it does nothing. If `--force` is
passed then it re-creates the keys.

Currently ci installs the deploy package during `build` command.
Move keygen action from ci's `deploy_synnefo` phase to the
`build_synnefo` phase.

Do not use the `--force` flag so that deploy can be re-entrant on
any level.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Remove old fabfile

..and replace it with the `fabfile2.py`.

Update Copyright dates.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
snf-ci: Add copyright note
snf-ci: Don't get the 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 the above problem 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.
astakos: Handle unowned projects in projects modification form
astakos: Update resources presentation data

include help text for resource's total project quota
astakos: Projects styling improvements

- Two column layout for per user/total quota
- Fixed owner formatters in template filters
- Display project total quota help text
astakos: Handle modified project params set to null
astakos: Improve projects list admin view

- Hide base projects by default
- Display base project toggling actions in table heading
astakos: Project modification improvements

- Handle empty resources as if user requested 0 capacity for the resource
- Display all project resources in summary view
astakos: Fix negative modified resource capacity diffs
astakos: Allow zero values in project application/modification form
astakos: Remove user base project when a user gets removed
astakos: Don't modify immutable fields of base projects

Do not allow to submit an application that changes system-provided immutable
fields of a base project, such as name and owner.
docs: Add missing fields in project API
ui: Use resource total quotas to resolve available projects when vm is stopped

in vm project reassign overlay view
ui: Proper owner display when user is both admin,owner of a project application