Added Promise#all().
Promise#spread() now ensures that Promise.all() is involved.
Added Promise#done().
Added 3rd party dependency for Promise#finally.
The extensions are guarded in case of prior implementations.