Added nose and nose-progressive as development requirements
Made a gst.Pipeline instead of just using a bare playbin
Added gst_log_calls decorator to log pyamp method calls to gstreamer logs...

Because tracking down what's going on with gstreamer when it goes wrong is
proving to be... interesting?
Made a sink_bin to handle the pipline to tag onto the end of playbin...

Mostly following http://docs.gstreamer.com/display/GstSDK/Playback+tutorial+7%3A+Custom+playbin2+sinks
as an example. This actually seems to play, but I need to fiddle some more!
Move gstreamer setup into a method of its own...

It means we can trash those extra logging lines in favour of a decorator, and
that we can see more clearly what is gstreamer setup and what is our own
class's setup.
Made fading out now use a Controller...

which works on an independent volume element, where it didn't seem to on a
playbin2...
Print a warning if the user tries to keybind a non-existent function
Made volume controls use new controller mechanism
Made fade out have a separate volume element to user volume...

This should make fade outs easier to manager. As a side note, I'm getting an
annoying volume discontinuity when using fadeout! Need to track down the
source...
Merge branch 'controller'

Now do volume changes with controllers, which is muchos nicer than just
fiddling with properties in a non-time-synced manner. This required making the
gstreamer pipeline a little bit more funky :-)