Use tox to test on travis and add docs and flake8

Travis CI now also confirm that the docs build correctly and the flake8 runs
succesfully. Tox also has the advantage that it tests that beets installs
correctly.

Currently flake8 does not run succesfully so it is configured to not fail the
build on Travis.
Ignore generated man pages
Sphinx is required to build the package
We need sphinx before installing the tox environment
Add sphinx dependency to tox virtual environment
Use coverage only with py27
Merge pull request #643 from geigerzaehler/tox-flake8-travis

Use tox to test on travis and add docs and flake8
tox: restore pypy/py26 configs, sphinx -q (#643)
some style tweaks for #638
docs: link to beets-check plugin
ensure lists of paths are passed to ImportTask

Also change the variable name from `path` to `paths` to reflect this.
Add MediaFile.fields() method
Add MediaFile.update() method to supersede save()
Test that we can migrate ITEM_KEYS_WRITABLE

The test show that we can replace the hard-coded `ITEM_KEYS_WRITABLE` constant
with the computed value derived from `MediaField.fields()` and ITEM_KEYS. This
will be done in the next commit.
Compute ITEM_KEYS_WRITABLE

See 65d64a7d50612df4ee6127ff05e591ae6fcceac0 why this is possible.
Add LazySave tests for MediaFile
MediaFile can be extended with custom fields
Use indexed format with python26
Use readable_fields() to replace ITEM_KEYS_META
Migrate ITEM_KEYS_META