Fix parse_options_header to handle RFC2616

The current version of the function does not handle correctly the
multiple MIME type version of the header as described in RFC2616. This
patches fixes that. It also fixes #404 at the same time.
>mimetype, options = usage since it's wrong in all regard

Not necessarily, the header to parse might actually be invalid if it contains multiple mimetypes. It depends on the context.

I propose to add an optional parameter called ``multiple``:

  - ``multiple=False`` (the default) would return the same kind of value and raise an exception if the header contains more than one mimetype.

- ``multiple=True`` would return an iterable of ``(str, options)``.