Add support for returning promise like objects from load.

This PR allows the load setting to return promises instead of calling the provided callback.