added travis-ci support, update tox config

travis-ci:
Needs an install, otherwise travis tries rake/requirements.txt
Python 3.3 is the latest, we should test for this.
Previous Python 3 versions are not as important.
The base version, Python 2.6 is important though.
We should check every branch and also pull-requests.
So we just exclude branches were we know we will fail (gh-pages, old).

tox:
Remove pypy (having it in travis should be enough)
Remove 3.1 (old), add 3.3 latest
Not even sure if tox.ini should be in the repo or rather
having a local one (with the versions installed) is better.

Adding travis-ci support was proposed by Sam Doshi.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
re-add Python 3.2 to travis-ci config

As it turns out, there are some problems that arise with Python 3.2,
but don't arise with Python 3.3 anymore.
Python 3.1 is not in the list of supported versions on travis-ci.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
doc: force default style for MB colors

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
fix entities for list requests

I put the wrong entities in my previous commit.
However, there is a reason for that:

get_releases_by_* etc. are named wrong.
You don't get releases, you get a discid entity which includes a list of
releases.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
add all relevant Errors to documentation

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
update search fields and sort them

The search fields allowed are now the same as on the wiki in
http://wiki.musicbrainz.org/XML_Web_Service/Version_2/Search
(as of this commit)

We still don't allow searches for CD stubs, "FreeDBs" and tags.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
document strict search

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
correct travis blacklist

The docs say it should be `except`.
They also say gh-pages will be only be built if it is explicitely set in
only, so we can skip it here.
The ratelimit branch is gone.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
link to musicbrainz WS documentation

This uses the extlinks extension. We might want to link to musicbrainz
docs several times in our documentation, like for entities.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
doc: read supported search fields from code

There is only one way to make sure code and documentation are in sync:
The documentated fields should be read from the code.
Since I couldn't find a way to evaluate a python construct in the
docstring and I didn't want to introduce a constant for every entity,
I just marked and included the relevant parts of the code.
parse cdstub in results

These can be in realease_by_discid results.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
add find_disc example

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
doc: use templates for search docstrings

This enables us to list search fields, includes
and possibly other things later on in the docstring.
The docstring can be accessed by sphinx,
but also with the internal python help() and ipython.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
docs: state that results are dicts

We also link to the python dict and list classes as a convenience.
Implemented with the intersphinx extension.
Every link that can't be found in our implementation will be looked up
in the python documentation now.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
docs: add VALID_RELEASE_TYPES / _STATUSES

I also removed lots of empty lines.
They don't help to read the docs code and don't make a difference in the
output.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
Merge branch 'master' into doc_changes

I want to have that _check_filter_and_make_params() fix

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
Merge branch 'list_requests' into doc_changes

We don't want to document the wrong includes.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
docs: set module

This way we don't have to specify the module for every function again.
This also makes the module turn up in the module index.

We can use `currentmodule` to set the module in other files,
without adding these files as links targets for the module.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
document get requests (with includes)

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
document browse requests

This finishes includes documentation.
We now don't have to whole VALID_INCLUDES as one massive block of text
in the docs anymore.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>