Added the ability for some of the functions to accept promises instead of options objects

...options object and to deal with it properly. This goes a long way to making dealing with Dorm in a promise chain easier.