feature(api) added INNamespace.draft(<id>)

This amends INNamepace#draft to add an optional argument containing
the ID of an existing draft, and will return a promise which will
resolve to the queried draft or an error.

I'm not too happy at overriding the return type to be either a bare
draft or a promise of an existing one, but I think calling the
draft-retrieving function draft() is consistent with what we already
have, and I don't feel great about renaming the existing function to
newDraft() either.
use either `typeof drafi_id === 'undefined'` or `draft_id === (void) 0` here