Allow service methods to return a promise

This pull request adds a mixin that allows services to return a promise instead of calling the callback. Closes #41.