Implement user's tag filtered gallery page

tags used to be global, you could only browse media by tag for all users.
This patch implements a view that allows us to browse only a user's tagged
media.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
correct typo in a comment in config_spec.ini
Fix bug 537
Fixing MANIFEST.in: graft expects one directory per line
Added "version" before the version
Add markdown notice to collection description.

Use wtforms_util.render_field_div on the collection
description, so that the markdown notice in the wtform is
actually rendered to html.
Address concerns in Issue #543

- Fixed PEP-008 issues.
- Removed .user-{user} from the tag URI and put it before the domain,
  such as {user}@{host} instead.
- Use year from collection.created instead of current year.
Change from email format in tag URI to domain format

Also fixed a bug (thanks pyflakes)
Fix errors in collection views

When a collection does not exist, render the 404 page.
Fix deleting media with attachments.

If one deletes a media with attachments, there have been
various problems:
1) If the file in the storage did not exist any more (maybe
   because due to a previous deletion attempt?), the error
   propagation failed, because the wrong thing was
   gathered.
2) The attachment database entries were not deleted.
   Using cascade for this, for now.

Also add a simple unit test, that tests both by having a
broken attachment on a media.
Merge remote-tracking branch 'pythonsnake/537_version'

* pythonsnake/537_version:
  Added "version" before the version
  Fix bug 537
Fix some small bits in base.html.

1. Add a trailing slash to the mediagoblin.org URL.
   (The string changed anyway, so translations are not
   affected more than already.)
2. Order was wrong for those two at the end (old version):
     {% endblock mediagoblin_body %}
     </div>
3. Fix some little indenting issues.
4. Remove some useless space from the output.
plugins/api: fix for cross origin requests

The response headers were never getting set because of a bug in the 7c552c0
commit.  This expands the loop into a more readable form and results in the
headers getting set.
Merge remote-tracking branch 'refs/remotes/spaetz/WIP/user_tag_gallery'
Fixing user gallery tags filter to be on slug rather than name.

This commit sponsored by Kat Walsh.  Thanks, Kat!
Making the tags on media pages point to the user's tag listing specifically.

This commit sponsored by Torsten Meissner.  Thanks, Torsten!
Remove "translation legos" and linkify the tag to more generic tag listing

By "translation legos" I mean having multiple strings to be translated
appended together.  This isn't a good idea because you can't assume
that syntax will work together in the same way in another language, so
you may be making things hard or impossible for translators.

Between this and the last commit, this means that tags now link to
user tagged media specifically, and if people want a more general tag
listing, they can click on the tag link to get to a more general
listing.  I feel this is a good and intuitive route to handling this.

This sponsored commit brought to you by Debarshi Ray!  Thank you!
Merge remote-tracking branch 'aleksej/632_config_spec_comment_typo'
Use wtforms_util.render_field_div more in media_collect.html

If we have to render fields individually, we still can use
wtforms_util.render_field_div for each field. Makes things
much smaller and readable.
Create wtforms_util.render_label(_p) and use it around.

- This makes many places more readable.
- Gives us translation in two places.
- Allows easier changing of labels in a central place.