admin: Update template tags

Add Django template tag that returns the filter type for a given filter
and add a choice template filter that returns a list with the available
choices for a filter (only for MultipleChoiceFilter types).

Also, use an array of filters instead of generator in the templatetags
context, since the latter cannot be re-iterated.
admin: Use abbreviations for all model filters

Normally, we would like to name our model filters more verbosely: e.g.
proj --> project, net --> network. However, django-filter fails to
understand that the filter we create has nothing to do with the actual
model field and crashes, if defined like so:

    project = django_filters.ChartFilter(..., action=my_action)

If we try to circumvent it like so:

    proj = django_filters.ChartFilter(..., name='project',
                                      action=my_action)

then no results are printed since the query value gets incorrectly
cleared by the FilterSet form.

There doesn't seem to be an easy or clear way to circumvent this issue
so, for now, use as filter names the abbreviations of their model names
in order to be consistent across views.
admin: Conditionally concatenate filter terms

Concatenate filter terms of model filters that have the "=" sign between
them. Also, add a setting (`ADMIN_FIELD_SIGN`) for the administrator to
change that sign if he/she wants to.
admin-ui: Add Filters' Compact View HTML structure

* Show filters area only when the corresponding view has filters.
* Update Tips and Tricks section.
* Add extra instructions in Compact View area.
admin-ui: Add style for Filters' Compact View

Add only SASS files.
Add generated CSS files
admin-ui: Extend tables.js

Add functionality for Filters' Compact View.
snf_django: Fix escaping of control characters

Fix escaping of control characters from string and unicode objects. The
function 'safe_string' has been renamed to 'escape_ctrl_chars'.
Also, this function has been applied to the output of 'pprint_table'
utility function and has been added as a method of the 'SynnefoCommand'
class.
deploy: Remove '~okeanos' references from settings

Change:
 * 'ASTAKOS_SITENAME' setting value from '~okeanos' to 'Synnefo'
 * 'ASTAKOS_DEFAULT_FROM_EMAIL' setting to 'synnefo_feedback'
docs: Move Archipelago setup to Node 2 prerequisites

Move Archipelago setup to Node 2 prerequisites on install guide.
docs: Update debian install guide

Add Archipelago-imposed limitation to run gunicorn workers as root.
Merge branch 'release-0.16-admin-filters-compact-view' of https://github.com/AthinaB/synnefo into release-0.16
pithos: Restore PostgreSQL 8.4 compatibility

Change SQLAlchemy statement to generate SQL code that uses ||
concatenation operator instead of the 'concat' function
(inexistent in earlier PostgreSQL versions than 9.1)
burnin: Enable multiple uploads

Extend Pithos burnin tests to enable multiple file uploading
of various sizes.
pithos: Fix metadata copying

Copy/move operations set/update the metadata
of the resulted object.
Metadata of other domains should be kept.
This commit restores this behavior broken
from a previous commit.
burnin: Test copy/move images
pithos: Enable stale snapshot better handling

Extend Pithos backend functionality in order to
be able to set the state of the snapshot.
This commit introduces the following modifications:
* Changes 'available' flag (denoting the existence of the object mapfile
  in the backend) to integer.
* Expects for the 'available' field only the following values:
  -1 (MAP_ERROR), 0 (MAP_UNAVAILABLE) and 1 (MAP_AVAILABLE)
* Provides a respective database migration script.
* Adds 'update_object_status' method in PithosBackend that is used in
  order to update the state of a Pithos object.
* Returns 400 (BAD REQUEST) response status when one tries to download a
  broken snapshot.
pithos: Test update object status functionality
docs: Document weblogin