Upgrade Celery to version 3.1.11 and redo how celery is managed

Celery was instantiated via an import where it set up all the
configuration needed to get celery running correctly. This was
only done via the import which made it very weird to do a

    from openspending.command import celery

and then magically celery worked (with an unused import). This
caused a lot of consfusion when contributors have been helping
out with code cleanup and remove that unused import (because an
import should never be doing anything important).

Furthermore the celery tasks were all placed in the
openspending/tasks/__init__.py file which is not the first place
one looks for important tasks.

This commit upgrades celery to version 3.1.11 and swaps the code
over to use the celery app to handle tasks and run the celery
workers. The celery app is created in openspending/tasks/celery.py
and the tasks have been split up into two modules in tasks:

* dataset (for dataset tasks)
* generic (for generic tasks like the ping)

Now to run the celery worker, it is now not needed to go through
the paster command, it suffices to run

    celery -A openspending.tasks worker

For tasks that require the pylons environment to be set (database
set up etc.) the celery command now also takes a new option, -p
where the pylons configuration (.ini) file can be provided

    celery -A openspending.tasks -p development.ini worker

OpenSpending celery use is now more in line with the documentation
and recommended use by the celery documentation.
Update documentation to comply with the new celery set up

Celery workers are no longer instantiated via paster but use the
celery tool provided by Celery itself.
Add deployment recommendations about celery into the docs

Celery now fetches the broker url from an environment variable so
the deployment documentation should reflect that.
Add guest with guest password to celery broker url defaults

This is the default stock configuration of rabbitmq so this should
therefore be the sane default for a development machine. The extra
slash there (resulting in double slash) is for celery compatibility.
Rename Solr schema file to schema.xml

It is pretty obvious that the solr schema file is for the project
openspending (since it's part of the openspending repo).

This will make it easier to do solr setup, for example in travis
and one doesn't have to rename the file, just copy it into the
right folder.
Run travis on the travis machine instead of in a vagrant install

It is not necessary to install openspending via openspending-installer
which overly complicates the test process (e.g. by installing a
rabbitmq and postgres which are already offered by travis). This
moves the installation into the travis file itself and lets travis
take care of everything.

One big change here is the solr setup. We use the travis-solr
script from moliware since travis doesn't offer us a solr service
(perhaps it is time to move to elasticsearch). This script is
what sparked the renaming of openspending_schema.xml to schema.xml
in a previous commit.

We also do not initialize the database since the tests run on
sqlite (in memory).

Besides that, the setup is just what the docs say.
Merge pull request #802 from openspending/celery-rework

Celery rework - now using version 3.1.11 and an environment variable to configure celery (but config file still needed).