Remove "off" exposure

It's non-functional and has been removed from raspistill/raspivid too
Clamp crop values

Ensure that the crop value set to MMAL is between 0 and 65535 inclusive
Make first frame 0-based

Documentation claims frame number is 0-based but implementation was
actually making 1 the first (valid) frame number.
Tidied up capture tests

Instead of duplicating all the test cases they're now nicely
encapsulated in a global variable and shared between the fixtures that
require them.
Fix mock tests for led

After #35 lazy init is used for the GPIO library so calls should be
checked after first call to ``_set_led`` instead of immediately after
camera init
Added missing legal gumph
Add MJPEG encoding

Allow 'mjpeg' to be specified as a format for start_recording. Added
test cases for 'mjpeg' encoding (and tidied up test cases in a similar
manner to the recent commit for test_capture.py).
Fix #8

Implement video tests via shell-out to avconv. It's hacky, horrid, and
slow but there's no (decent, well maintained) ffmpeg/libav bindings for
python so it's the only way for now. Also fixed name of TestCase
namedtuple - pytest was taking it as a test class...
Fix raw tests leaving camera in RGB mode

The scope of the raw_format fixture was incorrect, leading to the camera
being in RGB mode after the tests had run (breaking almost all
subsequent tests)
Fix silly bug in raw_format getter
Added rudimentary debugging stuff for mmal