Fix #104 and #105

Refactor how we go about allocating, deallocating, starting and stopping
decoders. This introduces some violation of encapsulation (just think of
PiEncoder as a friend class of PiCamera), but there's not much I can do
about that: the camera class has to be the one to start and stop the
video port as it's the only thing that "knows" about how many encoders
are attached to the splitter.
Factor capture timeout into a class attribute
Fix #103

Well, that was easier than expected...

Conflicts:
	picamera/encoders.py
Close #94

Add the concept of multiple outputs to the encoder classes and have the
write callback decide which named output each buffer gets written to.
Also added a pile of recipes covering capturing, analysing and using the
motion vector data Also added a pile of recipes covering capturing,
analysing and using the motion vector data.
Silly error on shutdown in close()
Add some xfails for max. res GIFs and BMPs
Add tests for #94
Pythagoras is a name!
Start prepping changelog and setup for release
Remove commented xfails
Fix #100
Fix up errors found in testing
Fix #106
Disable PNG tests

Occasional camera locks when producing PNGs from the video port. Issue
is known upstream (see discussion in raspberrypi/userland#177) so
disable tests until it can be investigated
Add the debug_buffer routine to encoders

Now we're supporting custom encoders other people might find it handy
for debugging too...
Merge branch 'master' of spider:/home/dave/picamera
Minor doc fixes
Fix #107

Added new picamera.array module, added numpy to package deps on Debian,
and as optional requirement for PyPI package (when "array" option is
specified - added notes to installation instructions). Updated advanced
recipes to reference new custom output classes.

Replaced the mocks in mmal and bcm_host with a mock specifically meant
for docs in conf.py; had to do some work to mock out numpy anyway as RTD
won't support C-based extensions for docs (understandably).
Missing word...
Tests for #107

Fixed several bugs in the new array classes, and implemented some
rudimentary functional and unit test for them.