Handle null content in APIResponse.

TL;DR: Fix OPTIONS requests generated by cross-origin requests.

When a Flask app receives an OPTIONS request, it will by default call
its make_default_options_response method, which instantiates its
response_class with no arguments. In vanilla Flask, creating a Response
object with no arguments populates the response field of the resulting
object with an empty list. But instantiating APIResponse with no
arguments results in a response field set to None, which raises an error
on calling get_data: response must be iterable. This patch borrows
error-checking logic from Werkzeug and sets the response field to an
empty list if the content argument passed to the APIResponse constructor
is None.