async generateHash rather than sync
async password hashing and compare methods, close #7