Adding a return tag to interfaces.

Interfaces should describe a contract. The contract is not
specified in the interface unless there is a docblock with
an `@return` tag to tell implementations what should be
returned. While this information is provided in the docs,
it should also be available on the interfaces.
Merge pull request #21 from mtdowling/return_signature

Adding a return tag to interfaces.
Merge branch 'master' into cancellable-promise