Added option to skip transcoding

- If the video input matches the configurable rules, just copy it to the
  output without transcoding it.
Merge branch 'master' into joar-skip_transcoding

Conflicts:
	mediagoblin/config_spec.ini
If we're not transcoding, copy this file directly over to ['original']

There's no reason to copy it over to 'webm_640' in such a case,
clearly.

Added logic so we don't do it twice either.

Haven't tested this yet though ;)

This commit sponsored by Algot Runeman.  Thank you!
Make Cloudfiles copy memory efficient too (#419)

It seems that (our implementation of) cloudfiles.write() takes
all existing data and appends write(data) to it, sending the
full monty over the wire everytime. This would of course
absolutely kill chunked writes with some O(1^n) performance
and bandwidth usage. So, override this method and use the
Cloudfile's "send" interface instead.

Also make the Cloudfile file wrapper an iterator that allows us to
simply do "for data in cloudfile:" which will stream the data in a
memory-efficient way.

DO NOTE THAT THIS PATCH IS COMPLETELY UNTESTED DUE TO LACK OF SETUP
PLEASE REVIEW AND VERIFY.
Added .send method to cloudfiles storage object

.. wrapper. Also added some logging - A .warn() for the legacy .write()
method and a .debug() for the new copy_local_to_storage()
Added raven plugin
Refactored raven plugin
Don't look for the oauth config in raven plugin
Removed PLUGIN_DIR from raven
Removed stray )
Added raven plugin docs to docs
plugin/raven: Fix paster's celery config issue

Check for CELERY_CONFIG_MODULE before we import raven.contrib.celery. It
seems that the import otherwise sets up the celery client before we get
to pass it our mediagoblin-specific settings.
Huge amount of work to (mostly) allow .ogg (and maybe other) formats to skip transcode

 - Update get_display_media in several ways:
   - now uses the media type's own declaration of the order of things
   - returns both the media_size and the media_path, as per the docstring
   - implicitly uses self.media_files as opposed to forcing you to pass it in
 - update videos to use get_display_media
 - update images to declare media_fetch_order in the media manager (videos also)
 - update stl to use media.media_files['original'] instead of weird
   use of get_display_media
 - update sidebar to only conditionally show webm_640

TODO still: identify video type information *during* processing, show
that in the <video><source /></video> element.

This commit sponsored by Nathan Yergler.  Thanks, nyergler!
Updated raven plugin

- Added wrap_wsgi, celery_setup, celery_logging_setup hooks
- Updated raven plugin docs
- Updated production considerations docs
- Added raven logging setup
Removed debugging exception

.. that accidentally got included due to not testing the video media
type in the unit tests.
Now store metadata info from processing into the media type.

This comes in several parts:
 - Store the metadata from gstreamer during processing
 - Add a new JSONEncoded field to the VideoData table
 - And, of course, add a migration for that field!

This commit sponsored by Julius Tuomisto.  Thank you, Julius!
pdb.set_trace() in mediagoblin code is Not Allowed(TM), removing from audio code

Of course, the version that appears here is not really dangerous
because it's for the "call the file individually" form of debugging,
but it isn't allowed anyway.

This commit sponsored by Michael Faryniarz.  Thanks!
{% set %} the display_type and display_path and use that elsewhere

This will make some stuff a bit cleaner that's coming up...

This commit sponsored by J B Nicholson-Owens.  Thanks!
Mild cosmetic cleanups to video.html and adding missing </li> elements.

This commit sponsored by Jukka Hellen.  Thanks!
Extrapolate type= based on the video metadata that we have, if we can.

It's kind of awkward because it relies on there being a entry.media_data,
but that's not guaranteed... (see http://issues.mediagoblin.org/ticket/650)
so we use a dopey fallback in the template in that case (kind of
annoying info duplication).

This commit sponsored by Piotr Wieczorek.  Thank you!