Async user mapper

Adds Tests For [PR 1643](https://github.com/NancyFx/Nancy/pull/1643).  Also "Nancy-ifies" the code to keep it stylistically similar to the rest of Nancy. (Only one small change). It fixes a bug in the otherwise excellent implementation provided by @ExUltima (the UserMapper was still required even if an Async one existed).
This is slightly different isn't it? 
If both `this.UserMapper` and `this.AsyncUserMapper` are different from null this is true too ... not sure that is the intention though ...