Convert all SDK APIs to support both promises & callbacks

Summary:
Callbacks are now optional.

If provided, they will be called as normal (via q.nodeify())
If not provided, the API function will return a Q promise for the result

Also, stop sending encryptedXprv for the backup keychain in the "easy"
wallet create API.

Reviewers: mike, benchan

Reviewed By: benchan

Subscribers: ben

Differential Revision: http://phabricator.bitgo.com/D400