Add generator versions of decode_all in bson.

When decoding large collections of bson documents, the python representation
of dicts are time and space costly, so it's sometimes useful to generate and
consume the documents iteratively. This patch adds two new functions to do
that: decode_iter and decode_file_iter. The first is given all the bson data,
but yields one document at a time, while the second reads from a file object
enough to yield one document at a time (to avoid reading in an entire file).
Add compile_re support to decode_(file_)iter.
Allow decode_(file_)iter to use C extensions.
Fix decode_(file_)iter tests for 3.0-dev.
Fix up docs for decode_(file_)iter.
Document to uuid_subtype parameter for decoders.
Document uuid_subtype parameter for BSON.encode/decode.
Update changelog to mention new BSON helpers.
Add Heewa Barfchin to contributors.