added the ability for some of the functions to accept a promise for its options object and to deal with it properly. This goes a long way to making dealing with Dorm in a promise chain easier.