Relative to v1, this makes notmuch_database_open and notmuch_database_create gracefully handle a NULL out-argument and adds documentation of the possible error return values from these two functions. Patches 3 and on have not changed.