upgraded promises to follow better the Promise Aplus spec
check that we have an error object before trying to get its message
upgraded to better promises
upgraded mongoose